Skip to main content

Command Palette

Search for a command to run...

Problem: Subsets

Published
1 min readView as Markdown
A

({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;
    }
}

image.png

More from this blog

mackph's blog

40 posts