LeetCodeDiary

A Diary for solving LeetCode problems

View on GitHub
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/