美文网首页
216. Combination Sum III (JS)

216. Combination Sum III (JS)

作者: 菁卡因 | 来源:发表于2016-11-29 15:13 被阅读0次

    题目意思:将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;
      };

    相关文章

      网友评论

          本文标题:216. Combination Sum III (JS)

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