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
  • 相关阅读:
    对SpringIOC、AOP的理解
    Java后台与VUE跨域交接
    贼简单的Shiro框架之粗粒度控制菜单栏
    Json
    Spring MVC小DEMO
    面试问题
    多线程理解
    了解java语言
    单点登录如何设计
    进程的创建和调度分析
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12766785.html
Copyright © 2011-2022 走看看