class Solution:
def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
res = []
nums.sort()
self.dfs(nums, 0, res, [])
return res
def dfs(self, nums, index, res, path):
if path not in res:
res.append(path)
for i in range(index, len(nums)):
if i > index and nums[i] == nums[i - 1]:
continue
self.dfs(nums, i + 1, res, path + [nums[i]])
数组 回溯算法 每日一题 中等
其实想到了用递归写回溯,但是写不好,而且重复子集的问题没考虑到
https://leetcode-cn.com/problems/subsets-ii/