重刷leetcode-day12-[77. 组合]

84 阅读1分钟

【题目】77. 组合

【题目考察】:回溯法

【解法】:

/**
 * @param {number} n
 * @param {number} k
 * @return {number[][]}
 */
var combine = function(n, k) {
    const result = [];
    const path = [];
    const backtracking = (n, k, startIndex) => {
        if (path.length === k) {
            result.push([...path]);
            return;
        }

        for(let i = startIndex; i <= n - (k - path.length) + 1; i++) {
            path.push(i);
            backtracking(n, k, i + 1);
            path.pop();
        }
    }
    backtracking(n, k ,1)
    return result
};