LeetCode39.组合总和 JavaScript

栏目: 编程工具 · 发布时间: 5年前

内容简介:给定一个无重复元素的数组说明:

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。

candidates 中的数字可以无限制重复被选取。

说明:

所有数字(包括 target )都是正整数。

解集不能包含重复的组合。

示例 1:

输入: candidates = [2,3,6,7], target = 7,

所求解集为:

[[7],[2,2,3]]

示例 2:

输入: candidates = [2,3,5], target = 8,

所求解集为:

[[2,2,2,2],[2,3,3],[3,5]]

答案参考:

/**
 * @param {number[]} candidates
 * @param {number} target
 * @return {number[][]}
 */
var combinationSum = function(candidates, target) {
    var item=[],path=[];
    no_repetition(candidates,target,0,item,path);
    function no_repetition(candidates,target,it,item,path){
        if(target<0)
            return;
        if(target==0){
            path=path.slice()
            item.push(path);
            return
        }
        for(var i=it;i<candidates.length;i++){
            path.push(candidates[i]);
            no_repetition(candidates,target-candidates[i],i,item,path)
            path.pop()
        }
    }    
    return item
};

LeetCode39.组合总和 JavaScript


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

枕边算法书

枕边算法书

[韩] 林栢濬 / 崔盛一 / 人民邮电出版社 / 2018-3 / 45.00元

本书第1章重点讲解各种常见算法,第2章主要介绍几种相对少见的算法,第3章和第4章探究其他程序员编写的代码,从中总结优秀算法应具备的特点,以及高级程序员应当持有的态度和必须培养的能力。书中以日常对话般浅显的叙述方式,帮助专业开发人员、刚刚踏入软件开发和编程门槛的初学者体会程序设计的创造性和成就感。一起来看看 《枕边算法书》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具