78. Subsets(js)

78. Subsets

Given a set of distinct integers, nums, return all possible subsets (the power set).

Note: The solution set must not contain duplicate subsets.

Example:

Input: nums = [1,2,3]
Output:
[
  [3],
  [1],
  [2],
  [1,2,3],
  [1,3],
  [2,3],
  [1,2],
  []
]
题意:求一个数字数组的全部子集
代码如下:
/**
 * @param {number[]} nums
 * @return {number[][]}
 */
//回溯
var subsets = function(nums) {
    var res=new Set();
    var curr=new Set();
    backtrack(res,curr,nums,0)
    return [...res];
    
};
var backtrack = function(res,curr,nums,start){
    res.add([...curr]);
    for(var i=start;i<nums.length;i++){
        curr.add(nums[i]);
        backtrack(res,curr,nums,i+1);
        curr.delete(nums[i]);
    }
}

 

posted @ 2019-03-20 22:09  mingL  阅读(157)  评论(0编辑  收藏  举报