Problem: Subsets
({MERN Stack Developer at mackph}) | <Ex-Internshala Student Partner(ISP 16)> | <5 star coder at Hackerrank> | <Self employed at Mackph> | <GSSoC '22 Contributor> | <Ex-Campus Ambassador at International MUN>
Given an integer array nums of unique elements, return all possible subsets (the power set).
The solution set must not contain duplicate subsets. Return the solution in any order.
Example 1:
Input: nums = [1,2,3] Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] Example 2:
Input: nums = [0] Output: [[],[0]]
Constraints:
1 <= nums.length <= 10 -10 <= nums[i] <= 10 All the numbers of nums are unique.
class Solution {
public static void dfs(int i,int len,int nums[],List<List<Integer>> res,List<Integer> subset)
{
if(i>len)
{
res.add(new ArrayList(subset));
return;
}
subset.add(nums[i]);
dfs(i+1,len,nums,res,subset);
subset.remove(subset.size()-1);
dfs(i+1,len,nums,res,subset);
}
public List<List<Integer>> subsets(int[] nums) {
List<List<Integer>> res= new ArrayList();
List<Integer> subset=new ArrayList();
dfs(0,nums.length-1,nums,res,subset);
return res;
}
}


