Not a member of GistPad yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public List<List<Integer>> subsets(int[] nums) {
- List<List<Integer>> result = new ArrayList<>();
- List<Integer> temp = new ArrayList<>();
- findAllSubsets(nums, 0, result, temp);
- return result;
- }
- public void findAllSubsets(int[] nums, int index, List<List<Integer>> result, List<Integer> temp)
- {
- // base condition
- if(index == nums.length)
- {
- result.add(new ArrayList<>(temp));
- return;
- }
- // Pick the current element into subset
- temp.add(nums[index]);
- findAllSubsets(nums, index+1, result, temp);
- // do not pick the current element into subset
- temp.remove(temp.size()-1);
- findAllSubsets(nums, index+1, result, temp);
- return;
- }
- }
RAW Paste Data
Copied
