leetcode-77-组合
题目描述:
给定两个整数 n 和 k,返回 1 ... n 中所有可能的 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-组合相关推荐
- LeetCode.77. 组合
LeetCode.77. 组合 难度:中等 这道题属于回溯的经典题目: 回溯模板: void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择:本层集 ...
- leetcode:77.组合
77. 组合 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/combinations 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 ...
- LeetCode 77. 组合 | Python
77. 组合 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/combinations 题目 给定两个整数 n 和 k,返回 1 - n 中所有可能 ...
- Java实现 LeetCode 77 组合
77. 组合 给定两个整数 n 和 k,返回 1 - n 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], ...
- LeetCode 77. 组合(回溯)
1. 题目 给定两个整数 n 和 k,返回 1 - n 中所有可能的 k 个数的组合. 示例:输入: n = 4, k = 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[ ...
- LeetCode 77 组合 -- 回溯法
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combinations 题意: 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 ...
- Leetcode 77.组合
组合 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1 ...
- LeetCode 77.组合求和
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...
- leetcode 77. 组合 思考分析
目录 1.题目 2.回溯法思路 3.参考其他思路,更深入了解这个问题 4.剪枝优化 可能需要回顾到的知识文章: 1.常用算法总结(穷举法.贪心算法.递归与分治算法.回溯算法.数值概率算法) 2.回溯法 ...
- LeetCode 77 组合
题目描述 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合. 题解 深度优先搜索 代码 class Solution {public:void dfs(vector< ...
最新文章
- 实验三 编程、编译、连接、跟踪
- 分布式系统设计原理与方案
- 【学习笔记】Javascript函数调用
- mediumtext 长度_InnoDB表行长度超限问题的处理和思考
- 取pi的前8位的解压密码_两种方式实现取16位变量的高低8位, 不严谨对比
- python定义空数组_在numpy数组中设置空值
- C语言求本金,求本金,试过了,调试了还是不行
- blur失焦方法会触发两次_教程 | ARAMIS光学测量系统散斑制作与光学应变测量方法...
- 2 imwrite中文路径_如何为FreePBX/Asterisk配置中文语音支持
- 查看Jetson系列产品JetPack的版本信息
- 自用的项目管控周报模板
- activity多实例任务加签
- 云计算的优点,主要包含哪几个方面?
- linux开机自启动程序设置方法
- android版怎么下载地址,负重前行怎么下载到手机 最新安卓版下载地址
- BadUSB橡皮鸭WinLinux通用下载者
- 函数式编程:Python 调用迅雷下载
- 01-ESP8266的STA模式学习
- jQuery打印插件jqprint,无法打印select下拉框的值
- 系统之家Ghost win7 精选旗舰版32位 v2020.05
热门文章
- mysql blgg_GG基于用户复制问题
- Educoder–Java高级特性(第一章)- IO流【笔记+参考代码】
- android make编译 no rule to make xxx,need xxx
- 无向图的关联矩阵JAVA_无向图邻接矩阵与关联矩阵的转换
- yarn在VSCode中无法执行,因为在此系统上禁止运行脚本。解决方法
- C. Strange Test(位运算或)
- 数据结构之树和二叉树
- php作业源码,周末作业 源码
- 场景编程集锦-月光族的期待
- animate.js