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
LC.90. SubsetsII
猜你喜欢
转载自blog.csdn.net/dpengwang/article/details/92831893
今日推荐
周排行