题目描述:

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

示例:

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

要完成的函数:

vector<vector<int>> combine(int n, int k)

说明:

1、这道题给定两个int型整数n和k,要求在[1,n]的闭区间中找到k个整数的组合(组合也就是不重复的)。

比如n=4,k=2,那么所有的组合是 [1,2] [1,3] [1 4] [2,3] [2,4] [3,4]。

把每一个组合放在一个一维vector中,所有的组合存储在二维的vector中,最后返回这个二维的vector。

2、这道题目也是一道递归的题目,我们依然用熟悉的方法来做。

代码如下(附详解):

    vector<vector<int>>res;//全局变量,最终要返回的二维vectorvector<int>res1;//全局变量,存储每一个可能的组合void digui(int n,int k,int index){if(k==0)//退出条件,当前没有数要加入了{res.push_back(res1);return;}for(int i=index;i<=n-k+1;i++)//不断地循环,注意i的范围,比如n=4,k=2的时候,i最大也只能取3,不能取4{res1.push_back(i);digui(n,k-1,i+1);//k减1,少了一个要添加的数,i加1,从下一个坐标开始res1.pop_back();}}vector<vector<int>> combine(int n, int k) {digui(n,k,1);//直接进入递归函数,k表示当前还有几个数要加入,1表示当前要从1开始return res;//返回最终的二维vector}

上述代码实测56ms,beats 99.55% of cpp submissions。

转载于:https://www.cnblogs.com/chenjx85/p/9502549.html

leetcode-77-组合相关推荐

  1. LeetCode.77. 组合

    LeetCode.77. 组合 难度:中等 这道题属于回溯的经典题目: 回溯模板: void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择:本层集 ...

  2. leetcode:77.组合

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

  3. LeetCode 77. 组合 | Python

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

  4. Java实现 LeetCode 77 组合

    77. 组合 给定两个整数 n 和 k,返回 1 - n 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], ...

  5. LeetCode 77. 组合(回溯)

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

  6. LeetCode 77 组合 -- 回溯法

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

  7. Leetcode 77.组合

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

  8. LeetCode 77.组合求和

    给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...

  9. leetcode 77. 组合 思考分析

    目录 1.题目 2.回溯法思路 3.参考其他思路,更深入了解这个问题 4.剪枝优化 可能需要回顾到的知识文章: 1.常用算法总结(穷举法.贪心算法.递归与分治算法.回溯算法.数值概率算法) 2.回溯法 ...

  10. LeetCode 77 组合

    题目描述 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合. 题解 深度优先搜索 代码 class Solution {public:void dfs(vector< ...

最新文章

  1. 实验三 编程、编译、连接、跟踪
  2. 分布式系统设计原理与方案
  3. 【学习笔记】Javascript函数调用
  4. mediumtext 长度_InnoDB表行长度超限问题的处理和思考
  5. 取pi的前8位的解压密码_两种方式实现取16位变量的高低8位, 不严谨对比
  6. python定义空数组_在numpy数组中设置空值
  7. C语言求本金,求本金,试过了,调试了还是不行
  8. blur失焦方法会触发两次_教程 | ARAMIS光学测量系统散斑制作与光学应变测量方法...
  9. 2 imwrite中文路径_如何为FreePBX/Asterisk配置中文语音支持
  10. 查看Jetson系列产品JetPack的版本信息
  11. 自用的项目管控周报模板
  12. activity多实例任务加签
  13. 云计算的优点,主要包含哪几个方面?
  14. linux开机自启动程序设置方法
  15. android版怎么下载地址,负重前行怎么下载到手机 最新安卓版下载地址
  16. BadUSB橡皮鸭WinLinux通用下载者
  17. 函数式编程:Python 调用迅雷下载
  18. 01-ESP8266的STA模式学习
  19. jQuery打印插件jqprint,无法打印select下拉框的值
  20. 系统之家Ghost win7 精选旗舰版32位 v2020.05

热门文章

  1. mysql blgg_GG基于用户复制问题
  2. Educoder–Java高级特性(第一章)- IO流【笔记+参考代码】
  3. android make编译 no rule to make xxx,need xxx
  4. 无向图的关联矩阵JAVA_无向图邻接矩阵与关联矩阵的转换
  5. yarn在VSCode中无法执行,因为在此系统上禁止运行脚本。解决方法
  6. C. Strange Test(位运算或)
  7. 数据结构之树和二叉树
  8. php作业源码,周末作业 源码
  9. 场景编程集锦-月光族的期待
  10. animate.js