zoukankan      html  css  js  c++  java
  • LeetCode39.组合总和 JavaScript

    给定一个无重复元素的数组 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
    };
  • 相关阅读:
    三维聚源
    js--继承
    1.名字忘了
    html5--画布
    Html批量读取json
    get获取Json
    5-jQuery
    Sublime Text
    Redis,JedisPool工具类
    向指定url发送Get/Post请求
  • 原文地址:https://www.cnblogs.com/lhh520/p/10392757.html
Copyright © 2011-2022 走看看