美文网首页
216. Combination Sum III

216. Combination Sum III

作者: jluemmmm | 来源:发表于2021-10-12 09:57 被阅读0次

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。所有数字都是正整数。解集不能包含重复的组合。

回溯法

  • 时间复杂度kC_9^k,空间复杂度O(k)
  • Runtime: 101 ms, faster than 33.78%
  • Memory Usage: 38.8 MB, less than 64.86%
/**
 * @param {number} k
 * @param {number} n
 * @return {number[][]}
 */
var combinationSum3 = function(k, n) {
  const res = [];
  backtrack(n, k, [], 0, res);
  return res;
};

var backtrack = function(remain, k, cur, start, res) {
  if (remain === 0 && cur.length === k) {
    res.push(cur.slice());
    return;
  } else if (remain < 0 || cur.length > k) {
    return;
  }
  for (let i = start; i < 9; i++) {
    cur.push(i + 1);
    backtrack(remain - i - 1, k, cur, i + 1, res);
    cur.pop();
  }
}

相关文章

  • 2019-01-26

    LeetCode 216. Combination Sum III Description Find all po...

  • 递归与排列组合

    216. Combination Sum III(https://leetcode.com/problems/co...

  • 216. Combination Sum III

    216. Combination Sum III Total Accepted: 38518Total Submi...

  • Instantiation of List (Java)

    动机 今天刷Leetcode时碰到的一道问题(216. Combination Sum III): Find al...

  • Leetcode 【216、769】

    题目描述:【DFS】216. Combination Sum III 解题思路: 这道题一看要求输出所有满足题意的...

  • 216. Combination Sum III

    这道题目在微软现场面中遇到了,当年太傻没做出来,其实思路很简单,就是回溯,但是要注意回溯的树的树杈越来越少,代码如下:

  • 216. Combination Sum III

    Find all possible combinations ofknumbers that add up to ...

  • 216. Combination Sum III

    题目 分析 这道题和之前的Combination Sum I II类似,都可以用回溯解法。回溯解法的套路是: ch...

  • 216. Combination Sum III

    找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字...

  • 216. Combination Sum III (JS)

    题目意思:将n个分别放入k个容器,每个容器的存放数不能一样。例如:Input: k = 3, n = 9Outpu...

网友评论

      本文标题:216. Combination Sum III

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