leetcode 90.子集 II
问题描述
给你一个整数数组 nums
,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。
示例 1:
输入:nums = [1,2,2]
输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]
示例 2:
输入:nums = [0]
输出:[[],[0]]
提示:
1 <= nums.length <= 10
-10 <= nums[i] <= 10
回溯
核心思路
本题和leetcode 78.子集区别在于集合里有重复元素,而且求取的子集要去重。
关于回溯算法中的去重处理,需要先对集合排序,然后需要区分“树层去重”和“树枝去重”,和leetcode 40.组合总和 II是相同套路。
code
1 | class Solution { |
- 时间复杂度:
- 空间复杂度:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小狐狸的被窝!
评论
WalineValine