简简单单的一个深度优先
对于去重操作是
先进行排序
然后,在不是头次选择时,选择了这个元素就是重复了
class Solution:
def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
#单纯一个递归即可解决
#过于简单
res=[]
shuzu=[]
nums.sort()
def digui(i):
res.append(shuzu.copy())
for j in range(i,len(nums)):
if j>i and nums[j]==nums[j-1]:
continue
shuzu.append(nums[j])
digui(j+1)
shuzu.pop()
digui(0)
return res