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

results matching ""

    No results matching ""