# 组合

  1. 组合

来源:力扣(LeetCode) 链接 (opens new window):https://leetcode.cn/problems/combinations/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

github (opens new window)

# 问题

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。

你可以按 任何顺序 返回答案

输入:n = 4, k = 2
输出:
[
  [2,4],
  [3,4],
  [2,3],
  [1,2],
  [1,3],
  [1,4],
]

# 思路

var combine = function(n, k) {
let ret = [];

  let helper = function (start, prev) {
    let len = prev.length;
    if (len === k) {
      ret.push(prev);
      return;
    }

    for (let i = start; i <= n; i++) {
      helper(i + 1, prev.concat(i));
    }
  };

  helper(1, []);

  return ret;
};
陕ICP备20004732号-3