78. Subsets
Description
Given an integer array nums
of unique elements, return all possible (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.
Solutions
Solution: Backtracking
- Time complexity: O(2n)
- Space complexity: O(n*2n)
JavaScript
js
/**
* @param {number[]} nums
* @return {number[][]}
*/
const subsets = function (nums) {
const result = [[]];
const backtrackingSubset = (start, current) => {
for (let index = start; index < nums.length; index++) {
const num = nums[index];
current.push(num);
result.push([...current]);
backtrackingSubset(index + 1, current);
current.pop();
}
};
backtrackingSubset(0, []);
return result;
};