Published Feb 14, 2022
[
 
]
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.
Input: nums = [1,2,3]
Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
Input: nums = [0]
Output: [[],[0]]
- 1 <= nums.length <= 10
- -10 <= nums[i] <= 10
- All the numbers of nums are unique.
function subsets(nums: number[]): number[][] {
let res: number[][] = [];
let cur: number[] = [];
const dfs = (i: number) => {
if(i >= nums.length){
res.push([...cur])
return
}
// we add cur index value
cur.push(nums[i])
dfs(i + 1)
// we dont add cur inde value
cur.pop()
dfs(i + 1)
}
dfs(0)
return res;
};