zoukankan      html  css  js  c++  java
  • Leetcode练习(Python):数组类:第90题:给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。

    题目:
    给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。  说明:解集不能包含重复的子集。
    思路:
    与第78题思路一样,用迭代法,对重复的数据进行判断再进行操作就可以。
    程序:
    class Solution:
        def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
            nums.sort()
            length = len(nums)
            if length <= 0:
                return [[]]
            if length == 1:
                return [[],nums]
            result = [[]]
            auxiliary = []
            for index1 in range(length):
                if index1 >= 1 and nums[index1 - 1] == nums[index1]:
                    auxiliary = [[nums[index1]] + index2 for index2 in auxiliary]
                else:
                    auxiliary = [[nums[index1]] + index2 for index2 in result]
                result +=auxiliary
            return result
  • 相关阅读:
    ubuntu apache2配置
    Oauth2协议解读(一)
    OAuth2协议解读(二)
    flask 环境搭建
    BeautifulSoup初识
    Oauth2解读
    5路由控制
    ​1Web应用
    3Web框架
    2Http协议
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12766785.html
Copyright © 2011-2022 走看看