华为 OD 训练营 · 题解精讲
LC90. 子集 II
题目描述
题目描述:给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。返回的子集可以按任意顺序排列。
示例: 输入:nums = [1,2,2] 输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]
思路解析
思路解析: 1. 核心思路:使用回溯法(DFS)生成所有子集。由于数组包含重复元素,需要去重。 2. 关键点:先对数组排序,使得重复元素相邻。在递归过程中,当选择当前元素时,如果前一个相同元素未被选择,则跳过当前元素,避免产生重复子集。