public static List<List<Integer>> subsets(int[] nums) {
List<List<Integer>> list = new ArrayList<>();
for(int i = 1; i <= nums.length; i++) {
List<List<Integer>> tlist = recurSub(nums, 0, i);
for(List<Integer> tmp: tlist) {
list.add(tmp);
}
}
list.add(new ArrayList<>());
return list;
}
public static List<List<Integer>> recurSub(int[] nums, int start,int len) {
List<List<Integer>> list = new ArrayList<>();
for(int i = start; i < nums.length; i++) {
if(len > 1) {
for(List<Integer> tList : recurSub(nums, i+1, len-1)) {
tList.add(nums[i]);
list.add(tList);
}
}else if(len == 1) {
list.add(new LinkedList<Integer>(Arrays.asList(nums[i])));
}
}
return list;
}
78. Subsets
最新推荐文章于 2021-02-13 18:11:08 发布