LeetCode(力扣)90. 子集 IIPython

发布于:2023-09-14 ⋅ 阅读:(114) ⋅ 点赞:(0)

LeetCode90. 子集 II

题目链接

https://leetcode.cn/problems/subsets-ii/

在这里插入图片描述

代码

class Solution:
    def subsetsWithDup(self, nums):
        result = []
        path = []
        used = [False] * len(nums)
        nums.sort()  # 去重需要排序
        self.backtracking(nums, 0, used, path, result)
        return result

    def backtracking(self, nums, startIndex, used, path, result):
        result.append(path[:])  # 收集子集
        for i in range(startIndex, len(nums)):
            if i > 0 and nums[i] == nums[i - 1] and not used[i - 1]:
                continue
            path.append(nums[i])
            used[i] = True
            self.backtracking(nums, i + 1, used, path, result)
            used[i] = False
            path.pop()


网站公告

今日签到

点亮在社区的每一天
去签到