Leetcode题90、子集II(Python题解)

    科技2022-07-12  145

    问题:

    题目来源:力扣(LeetCode)

    leetcode90.子集II

    难度:中等

    分析: 回溯法。 在子集问题上进行去重处理,加一个判断条件跳过重复元素,去重问题记得先排序。

    解决方法: 1:回溯法

    class Solution: def subsetsWithDup(self, nums: List[int]) -> List[List[int]]: if nums == []: return [[]] def backtrack(idx): # 不需要等一条路径回溯结束再保存值,每一步都要保存值。 res.append(path[:]) for i in range(idx, len(nums)): if i > idx and nums[i] == nums[i - 1]: continue path.append(nums[i]) backtrack(i + 1) path.pop() nums.sort() path = [] res = [] backtrack(0) return res
    Processed: 0.013, SQL: 8