public class Solution {
public List<List<Integer>> permuteUnique(int[] nums) {
Set<List<Integer>> set = new HashSet<>();
perm(set,new ArrayList<>(),0,nums);
List<List<Integer>> list = new ArrayList<>();
for(List<Integer> ls : set) {
list.add(ls);
}
return list;
}
public void perm(Set<List<Integer>> res, List<Integer> list,int start, int[] nums) {
if(start == nums.length) {
List<Integer> l1 = new ArrayList<>();
for(int i = 0; i < nums.length; i++) {
l1.add(nums[i]);
}
res.add(l1);
return;
}
for(int i = start; i < nums.length; i++) {
int tmp = nums[start];
nums[start] = nums[i];
nums[i] = tmp;
perm(res,list,start+1,nums);
tmp = nums[start];
nums[start] = nums[i];
nums[i] = tmp;
}
}
}
47. Permutations II
最新推荐文章于 2024-07-09 23:43:07 发布