资讯专栏INFORMATION COLUMN

LeetCode40.组合总和|| JavaScript

FleyX / 2184人阅读

摘要:给定一个数组和一个目标数,找出中所有可以使数字和为的组合。中的每个数字在每个组合中只能使用一次。说明所有数字包括目标数都是正整数。解集不能包含重复的组合。示例输入所求解集为示例输入所求解集为答案参考

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

candidates 中的每个数字在每个组合中只能使用一次。

说明:

所有数字(包括目标数)都是正整数。
解集不能包含重复的组合。

示例 1:

输入: candidates = [10,1,2,7,6,1,5], target = 8,
所求解集为:
[[1, 7],[1, 2, 5],[2, 6],[1, 1, 6]]

示例 2:

输入: candidates = [2,5,2,1,2], target = 5,
所求解集为:
[[1,2,2],[5]]

答案参考:

/**
 * @param {number[]} candidates
 * @param {number} target
 * @return {number[][]}
 */
var combinationSum2 = function(candidates, target) {
    
    var item=[],path=[];
    candidates=candidates.sort(function(a,b){return a-b})
    GG(candidates,target,target,item,path,0)
    return item
    function GG(candidates,target,remain,item,path,start){
        if(remain<0)
            return;
        if(remain==0){
             path=path.slice()    
             item.push(path);
        }
        else{
            for(var i=start;istart&&candidates[i]==candidates[i-1])
                    continue;
                path.push(candidates[i])
                GG(candidates,target,remain-candidates[i],item,path,i+1)
                path.pop()
            }
        }
    }
};

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101806.html

相关文章

  • LeetCode39.组合总和 JavaScript

    摘要:给定一个无重复元素的数组和一个目标数,找出中所有可以使数字和为的组合。说明所有数字包括都是正整数。解集不能包含重复的组合。示例输入所求解集为示例输入所求解集为答案参考 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数...

    xbynet 评论0 收藏0
  • 6-9月技术文章汇总

    摘要:分布式的管理和当我在谈论架构时我在谈啥状态码详解无状态协议和请求支持哪些方法分层协议栈有哪些数据结构运用场景说说你常用的命令为什么要有包装类面向对象的特征是啥是啥有什么好处系统设计工程在线诊断系统设计与实现索引背后的数据结构及算法原理软技能 HTTP 【HTTP】分布式session的管理 【HTTP】Cookie和Session 【HTTP】当我在谈论RestFul架构时我在谈啥?...

    miya 评论0 收藏0
  • LeetCodeJavaScript 解答第112题 —— 路径总和(Path Sum)

    摘要:小鹿题目路径总和给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明叶子节点是指没有子节点的节点。 Time:2019/4/26Title: Path SumDifficulty: EasyAuthor: 小鹿 题目:Path Sum(路径总和) Given a binary tree and a sum, determin...

    lylwyy2016 评论0 收藏0
  • 力扣(LeetCode)129

    摘要:计算从根到叶子节点生成的所有数字之和。说明叶子节点是指没有子节点的节点。代码方法二,自顶向下搜索深度优先搜索,搜索过程中维护一个当前累加值,一旦搜索到叶子节点,就将现在的当前累加值加入结果中。 题目地址:https://leetcode-cn.com/probl...题目描述: 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从...

    yzzz 评论0 收藏0
  • 【力扣】40. 组合总和 II

    摘要:题目给定一个数组和一个目标数,找出中所有可以使数字和为的组合。中的每个数字在每个组合中只能使用一次。注意解集不能包含重复的组合。示例输入输出示例输入输出提示答案回溯法排序后去重 ...

    Zoom 评论0 收藏0

发表评论

0条评论

阅读需要支付1元查看
<