78. Subsets
Problem
https://leetcode.com/problems/subsets/
Given a set of distinct integers, nums, return all possible subsets.
Note: The solution set must not contain duplicate subsets.
For example,
If nums = [1,2,3], a solution is:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
Solution
Another DFS
/**
* @param {number[]} nums
* @return {number[][]}
*/
var subsets = function(nums) {
let result = []
function subsetHelper(res, subset) {
result.push(res)
if (res.length === nums.length) { return }
for (let i = 0; i < subset.length; i += 1) {
let resClone = res.slice()
resClone.push(subset[i])
let subsetClone = subset.slice(i+1)
subsetHelper(resClone, subsetClone)
}
}
subsetHelper([], nums)
return result
};