LC.90。SubsetsII

ここに画像を挿入説明

class Solution(object):
    def subsetsWithDup(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        result = []
        nums.sort()
        def DFS(array, index, path):
            if index == len(array):
                result.append(path)
                return
            next = index+1
            #找到第一个与当前元素不相等的元素!!
            while(next < len(array) and array[next] ==array[index] ):
                next+=1
            #如果当前不加入当前元素,那么之后也不要加入了,避免重复
            DFS(array, next, path)
            DFS(array,index+1, path+[array[index]])
        DFS(nums,0,[])
        return result
        

おすすめ

転載: blog.csdn.net/dpengwang/article/details/92831893
LC1