美文网首页
JavaScript - 子集1(回溯法)

JavaScript - 子集1(回溯法)

作者: ElricTang | 来源:发表于2020-07-28 10:46 被阅读0次

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集。
示例:

输入: nums = [1,2,3]
输出:
[
 [3],
 [1],
 [2],
 [1,2,3],
 [1,3],
 [2,3],
 [1,2],
 []
]

完整代码:

/**
 * @param {number[]} nums
 * @return {number[][]}
 */
var subsets = function(nums) {
    let arr = nums.sort((m, n)=> m - n);
    let res = [];

    function def(n, path) {
        for (let i = 0; i < n.length; i++) {
            let curPath = [...path, n[i]];
            let copy = n.slice(i + 1);
            
            res.push(curPath);
            if (copy.length > 0) {
                def(copy, curPath);
            }
        }
    }

    def(arr, []);
    return [...res, []];
};

相关文章

  • JavaScript - 子集1(回溯法)

    给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输...

  • JavaScript - 子集2(回溯法)

    给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例...

  • 78. Subsets

    题目分析 找一个集合的所有子集 + 回溯法 代码

  • 回溯递归算法

    回溯大法严重依赖【递归】 1、求子集 78. 子集[https://leetcode-cn.com/problem...

  • JavaScript - 组合求和1(回溯法)

    给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可...

  • JavaScript - 全排列1(回溯法)

    给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [...

  • JS面向对象--2 对象和JSON的区别

    JSON就是javascript object notation,JS对象表示法,是JS对象的严格子集区别就是引号...

  • 回溯法与分支限界法

    回溯法与分支限界法 时间 2016-03-24 标签 搜索 回溯法 1、概念 回溯算法实际上一个类似枚举的搜索尝...

  • 2018-08-21

    回溯法求子集,有个问题没有解决硬币问题动态规划:趴楼梯的最小代价https://blog.csdn.net/hap...

  • js获取数组的所有子集

    使用javascript获取一个数组的所有子集,比如:[1, 2, 3] 的所有子集是:[[], [1], [2]...

网友评论

      本文标题:JavaScript - 子集1(回溯法)

      本文链接:https://www.haomeiwen.com/subject/yetfrktx.html