题目
思路
-
代码
public List<List<Integer>> subsetsWithDup(int[] nums) {List<List<Integer>> res = new ArrayList<>();Arrays.sort(nums);dfs(nums, 0, res, new ArrayList<>());return res;}public void dfs(int[] nums, int index, List<List<Integer>> res, List<Integer> list) {res.add(new ArrayList<>(list));for (int i = index; i < nums.length; i++) {//去重if (i != index && nums[i] == nums[i - 1]) continue;list.add(nums[i]);dfs(nums, i + 1, res, list);list.remove(list.size() - 1);}}
