全排列
public List<List<Integer>> permuteUnique(int[] nums) {
List<List<Integer>> l=new ArrayList<>();
List<Integer>l1=new ArrayList<>();
int n=nums.length;
int []visited=new int[n];
Arrays.sort(nums);
abc(l,l1,0,visited,nums);
return l;
}
public void abc(List<List<Integer>> l,List<Integer> l1,int x,int []visited,int [] nums){
if(x==visited.length){
l.add(new ArrayList<Integer>(l1));
return;
}
for(int i=0;i<visited.length;i++){
if(visited==1||(i > 0 && nums[i] == nums[i - 1] && !vis[i - 1]))
continue;
l1.add(nums[i]);
visited[i]=1;
abc(l,l1.x+1;)
visited[i]=0;
}
}