77.组合

作者: 最尾一名 | 来源:发表于2020-03-05 11:26 被阅读0次

原题

https://leetcode-cn.com/problems/combinations/

解题思路

典型的回溯。

代码

/**
 * @param {number} n
 * @param {number} k
 * @return {number[][]}
 */
var combine = function(n, k) {
    const resArr = [];
    if (k > n) return resArr;
    const backTrace = (arr, m) => {
        if (m >= k) {
            resArr.push(arr);
            return;
        }
        for (let i = m + 1; i <= n; ++i) {
            if (!arr.length || i > arr[arr.length-1]) {
                arr.push(i);
                backTrace(arr.slice(), m + 1);
                arr.pop();
            }
        }
    }
    backTrace([], 0);
    return resArr;
};

复杂度

  • 时间复杂度 O(k*Cnk) Cnk = N!/((N-k)!k!)
  • 空间复杂度 O(Cnk)

相关文章

  • 77.组合

    题目给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例:输入: n = 4, k...

  • 77.组合

    给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = ...

  • 77.组合

    原题 https://leetcode-cn.com/problems/combinations/ 解题思路 典型...

  • 77. 组合

    https://leetcode-cn.com/problems/combinations/

  • BackTracing——77. 组合

    首先这道题给了两个数字,一个是n——从1到n遍历,另一个是k——组合中的总个数。所以在遍历的时候我们可以先做一个限...

  • 77. Combinations/组合

    ShareGiven two integers n and k, return all possible comb...

  • 77. Combinations 组合

    题目 给定两个整数 n 和 k,在 [1,n] 之间返回 k 个数的组合。 由这个例子可知,其实就是求 Cnk 的...

  • 77. 组合/207. 课程表

    77. 组合 相关标签:回溯算法 207. 课程表 相关标签: DFS BFS 图 拓扑排序

  • 搜索(二)回溯

    一、题目总结 基础问题 46.全排列 77.组合 78.子集 39.组合求和 47.全排列 II(重复元素) 90...

  • LeetCode 力扣 77. 组合

    题目描述(中等难度) 给定 n ,k ,表示从 { 1, 2, 3 ... n } 中选 k 个数,输出所有可能,...

网友评论

      本文标题:77.组合

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