public static List<List<Integer>> permute(int[] nums,int n) {
List<List<Integer>> list=new ArrayList<> ();
List<Integer> list1=new ArrayList<> ();
permute(n,0,nums,list,list1);
return list;
}
public static void permute(int len,int cur,int[] nums,List<List<Integer>> list,List<Integer> list1) {
if(len==0) {
list.add(new ArrayList<>(list1));
return;
}
for(int i=cur;i<nums.length;i++) {
list1.add(nums[i]);
permute(len-1,i+1,nums,list,list1);
list1.remove(list1.size()-1);
}
}