作者:新葡京开户 | 来源:互联网 | 2023-09-07 14:49
Givenacollectionofintegersthatmightcontainduplicates,nums,returnallpossiblesubsets.Note:Th
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note: The solution set must not contain duplicate subsets.
For example,
If nums = [1,2,2]
, a solution is:
[[2],[1],[1,2,2],[2,2],[1,2],[]
] 代码如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class SubsetsIIContainsDuplicates {public List> subsetsII(int[] nums){List> list &#61; new ArrayList<>();Arrays.sort(nums);backtrack(list,new ArrayList<>(),nums,0);return list;}private void backtrack(List> list, ArrayList arrayList, int[] nums, int start) {list.add(new ArrayList<>(arrayList));for(int i&#61;start; istart && nums[i]&#61;&#61;nums[i-1]) //防止重复的组合出现continue;arrayList.add(nums[i]);backtrack(list,arrayList,nums,i&#43;1);arrayList.remove(arrayList.size()-1);}}}