class{ List<List<Integer>> res = new ArrayList<>(); List<Integer> tmp = new ArrayList<>();
public List<List<Integer>> subsets(int[] nums) { int n = nums.length; for (int i = 0; i <= n; i++) { helper(nums, 0, i); } return res; }
voidhelper(int[] nums, int start, int len){ if (tmp.size() == len) { List<Integer> add = new ArrayList<>(); for (int i = 0; i < tmp.size(); i++) { add.add(tmp.get(i)); } res.add(add); return; } for (int i = start; i < nums.length; i++) { tmp.add(nums[i]); helper(nums, i + 1, len); tmp.remove((Integer) nums[i]); } } }
近期评论