题目描述

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

示例:

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

解题思路

回溯法,每次遍历到一个元素分为放入与不放入集合两种情况,若集合长度为k,则加入到结果中。

代码

 class Solution {
public:
vector<vector<int>> combine(int n, int k) {
vector<vector<int>> res;
vector<int> nums, temp;
for(int i = ; i < n; i++)
nums.push_back(i + );
cmb(n, k, , nums, temp, res);
return res;
}
void cmb(int n, int k, int idx, vector<int> nums, vector<int> &temp, vector<vector<int>> &res){
if(k && temp.size() == k)
res.push_back(temp);
else if(idx < n){
temp.push_back(nums[idx]);
cmb(n, k, idx + , nums, temp, res);
temp.pop_back();
cmb(n, k, idx + , nums, temp, res);
}
}
};

最新文章

  1. UIAlertController 部分用法及属性
  2. hdu 4278 2012天津赛区网络赛 数学 *
  3. C++ 中 volatile 的使用
  4. 经典DP 二维换一维
  5. 2、Spring的LocalSessionFactoryBean创建过程源码分析
  6. css3的loadding效果
  7. android的注意点
  8. Linux下Oracle常见安装错误[Z]
  9. Opencv在linux下安装
  10. Vue.js + Webpack
  11. LVM 磁盘分区扩容
  12. OOCSS(面向对象的CSS)总结
  13. springboot集成quartz定时任务课动态执行
  14. 【spring】之xml和Annotation,Bean注入的方式
  15. git使用教程PDF版
  16. [CodeForces - 614E] E - Necklace
  17. 关于java中Static关键字的加强理解
  18. MySql(十五):MySql架构设计——可扩展性设计之 Cache 与 Search 的利用
  19. RHEL5 yum更新源
  20. h1026 BFS(打印x与路径)

热门文章

  1. 微信小程序页面跳转传参方式
  2. golang编写二叉树
  3. 2.vi 和 vim 编辑器
  4. ASE第二次结对编程——Code Search
  5. mybatis sql语句中 in() 长度为0或null的情况
  6. Mybatis和hibernate的优缺点比较
  7. 第六篇.文件处理之python2和3字符编码的区别
  8. deep_learning_cross_entropy
  9. redis整合Spring入门
  10. 第十五届四川省省赛 SCU - 4444 Travel