216. Combination Sum III (JS)

题目意思:将n个分别放入k个容器,每个容器的存放数不能一样。
例如:Input: k = 3, n = 9
Output: [[1,2,6], [1,3,5], [2,3,4]]
/*

  • @param {number} k个容器
  • @param {number} n个物品
  • @return {number[][]}
    */
    var combinationSum3 = function(k, n) {
    var nums = [];
    var ans = [];
    var j = 0;
    combinationSum(0,k,n);
    function combinationSum(last,count,sum)
    {
    if(sum==0 && count==0)
    {
    ans[j] = nums.concat();
    j++;
    return;
    }
    var end = sum<9?sum:9;
    end -= count-1;
    for(var i=last+1;i<=end;++i)
    {
    nums.push(i);
    combinationSum(i,count-1,sum-i);
    nums.pop();
    }
    }
    return ans;
    };
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容