题目描述
中文

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

英文

Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.

示例

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

题目分析

  • 初步分析,返回的是1-n中个数为2的排列组合,组合不能为重复的数字。
if(cur.size() == k){               //如果长度满足k,就把这种结果添加进去res.add(new LinkedList<>(cur));}
for(int i = first;i < n+1; ++i){         //求排列cur.add(i);put(i+1, k, n, cur);cur.removeLast();  //回溯}
  • 把这一部分封装起来,形成一个方法。
public static void put(int first, int k, int n, LinkedList<Integer> cur){if(cur.size() == k){res.add(new LinkedList<>(cur));}for(int i = first;i < n+1; ++i){cur.add(i);put(i+1, k, n, cur);cur.removeLast();  //回溯}}
  • res设置成全局变量,这道题就解决了。
static List<List<Integer>> res = new LinkedList();
public static List<List<Integer>> combine(int n, int k) {put(1, k, n, new LinkedList<Integer>());return res;}
  • 这道题的重点在回溯 + 剪枝。

77-组合(Combinations)相关推荐

  1. 每日一道leetcode(python)77. 组合

    每日一道leetcode(python)77. 组合 2021-08-25 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合.你可以按 任何顺序 返回答案.示例 1:输入 ...

  2. leetcode:77.组合

    77. 组合 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/combinations 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 ...

  3. 【算法leetcode每日一练】剑指 Offer II 080. 含有 k 个元素的组合 | 77. 组合

    文章目录 剑指 Offer II 080. 含有 k 个元素的组合 | 77. 组合: 样例 1: 样例 2: 提示: 分析 题解 java c c++ python go rust javascri ...

  4. LeetCode 77. 组合 | Python

    77. 组合 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/combinations 题目 给定两个整数 n 和 k,返回 1 - n 中所有可能 ...

  5. Leetcode 76最小覆盖子串77组合78子集

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...

  6. 算法训练Day25 | LeetCode216. 组合总和III(和77.组合很像!);LeetCode17. 电话号码的字母组合(不同集合中组合)

    目录 LeetCode216. 组合总和III 1. 思路 2. 代码实现 3. 剪枝 4. 复杂度分析 5. 思考与收获 LeetCode17. 电话号码的字母组合 1. 思路 2. 代码实现 3. ...

  7. 77.组合 | 40.组合总和II | 39.组合总和 | 784.字母大小写全排列

    77.组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 你可以按 任何顺序 返回答案. 示例 1: 输入:n = 4, k = 2 输出: [   [2,4], ...

  8. Suzy找到实习了吗 Day24 | 回溯算法开始啦:回溯的理论知识,77组合(有一个问题没有解决)

    回溯算法理论 回溯算法解决的问题 组合问题 切割问题 子集问题 排列问题 棋盘问题 算法模板 函数没有返回值 业界给回溯算法命名:backtracking 算法伪代码模板 def backtracki ...

  9. Day21||● 77. 组合

    77. 组合 使用的是回溯算法.回溯算法很抽象,在递归的使用里边也算是比较难的,可以画一个树状图枚举一下.我们递归的操作其实就是在对树状图进行遍历.在每层的for循环里边其实有一个剪枝操作,就是如果我 ...

  10. 【专项】77. 组合

    77. 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合. 你可以按 任何顺序 返回答案. 示例 1: 输入:n = 4, k = 2 输出: [ [2,4], [ ...

最新文章

  1. 【问题记录】pytorch自定义数据集 No such file or directory, invalid index of a 0-dim
  2. Vue(ts) - ref $refs 之el-input获取焦点
  3. 数学--数论--HDU-2698 Maximum Multiple(规律)
  4. P2179-[NOI2012]骑行川藏【导数,二分】
  5. 【考研计算机】AOE关键路径
  6. oracle 10g学习之分组函数
  7. 简书bug:不支持复制粘贴纯文本
  8. Bailian4018 子串【字符串】
  9. 13.熟悉JDK的配置,环境变量
  10. ollvm源码分析之虚假控制流(2)
  11. 安卓暗黑模式软件_程序员欢呼!微软 GitHub 安卓版 App 发布预览:支持暗黑模式...
  12. 最新款电影程序源码 影院网站源码 在线采集多资源播放器去广告
  13. python 报错: unindent does not match any outer indentation level
  14. 【应用统计学】随机变量的概率分布,数学期望和方差及协方差
  15. 成功转行IT软件测试,分享下我本科毕业2年转行的经历
  16. 0926 - 微商的动力
  17. 计算机毕业设计Java房屋租赁管理系统(源码+系统+mysql数据库+lW文档)
  18. Pinyin4j之Pinyin4jUtils工具类
  19. element实现el-progress线形进度条渐变色
  20. html5网页制作代码-我的班级网页 HTML期末大作业

热门文章

  1. [已更新]redmi3s+miui8+xposed sdk23
  2. 广播(broadcast)的简单解析与实例运用
  3. 2022最新酒桌小游戏小程序源码+附带流量主
  4. 征信衍生规则中的逾期强变量都有哪些?
  5. 高中数学如何学好,必修一函数的单调性与最值(习题)
  6. 烧钱?公交免费Wi-Fi面临三大挑战
  7. 一个陌生女人的来信-未完不续
  8. Unity 上传自定义头像
  9. 基础篇:Linux 常用命令总结
  10. vue项目接入unity3D模块并进行数据通信