zoukankan      html  css  js  c++  java
  • leetcode-90 子集

    leetcode-90 子集

    题目描述:

    给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。

    之前遇到过类似的题目,但是这次还是没有写出来。这次知道在for循环里面需要加入相等判断,但是在判断的时候出了问题,
    我写的是 i>1,实际上是 i>index;

    class Solution:
        def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
            def dfs(nums,index,pre,path):
                res.append(path)
                for i in range(index,len(nums)):
                    if i>index and nums[i] == nums[i-1]:
                        continue
                    dfs(nums,i+1,pre,path+[nums[i]])
            
            res = []
            nums.sort()
            dfs(nums,0,"",[])
            return res
    
  • 相关阅读:
    Ubuntu
    SSH
    Markdown
    Mac OS 上的一些骚操作
    Linux Bash
    JConsole
    IDEA
    Groovy
    Github
    Git
  • 原文地址:https://www.cnblogs.com/curtisxiao/p/11280997.html
Copyright © 2011-2022 走看看