题目
基本思路
在上一题的基础上添加一条判断即可。
深度遍历
实现代码
class Solution:
def subsetsWithDup(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
def dfs(depth, start, valuelist):
if valuelist not in res:
res.append(valuelist)
if depth == len(nums): return
for i in range(start, len(nums)):
dfs(depth+1, i+1, valuelist+[nums[i]])
nums.sort()
res = []
dfs(0, 0, [])
return res