LeetCode 77.Combinations
来源:互联网 发布:手机qq当前网络不可用 编辑:程序博客网 时间:2024/05/22 01:53
/*LeetCode 077Combinations 递归/回溯题目大意:给两个数n和k,找出1-n这n个数的个数为k的子序列解题思路:递归/回溯参考:http://blog.csdn.net/charles1e/article/details/51646879*/#include <iostream>#include <vector>using std::vector;using std::cout;using std::endl;using std::cin;class Solution {public: vector<vector<int>> combine(int n, int k) { vector<vector<int> > result; vector<int> path; DFS(n, k, 1, 0, path, result); return result; }private: //长度为n,要找到长度为k的子序列,起始位置为start,当前个数为cur //path记录的是一个子序列,result记录的是整个结果 void DFS(int n, int k, int start, int cur, vector<int>& path, vector<vector<int> > &result) { if (cur == k) {//递归出口:path中已经有了k个数 result.push_back(path); return; } for (int i = start; i <= n; ++i) { path.push_back(i); DFS(n, k, i + 1, cur + 1, path, result); //递归:添加下一个元素 path.pop_back(); //回溯,弹出当前元素后继续查找 } }};int main(){ Solution sol; int n, m; cin >> n >> m; vector<vector<int> > result; result = sol.combine(n, m); for (auto v : result) { for (auto i : v) { cout << i << " "; } cout << endl; } return 0;}/*输入:4 2输出:4 21 21 31 42 32 43 4*/
0 0
- LeetCode 77. Combinations
- [LeetCode]77.Combinations
- LeetCode --- 77. Combinations
- [Leetcode] 77. Combinations
- [leetcode] 77.Combinations
- leetCode 77.Combinations (组合)
- [leetcode] 77. Combinations
- 77. Combinations LeetCode
- <LeetCode OJ> 77. Combinations
- [LeetCode]77. Combinations
- leetcode 77. Combinations
- LeetCode *** 77. Combinations
- leetcode 77. Combinations
- LeetCode 77. Combinations
- LeetCode-77.Combinations
- LeetCode 77.Combinations
- [LeetCode]problem 77. Combinations
- [LeetCode] 77. Combinations
- 和为s的两个数字VS和为s的连续正数序列
- 严格要求自己
- php 如何转义emoji表情,让它可以存入utf8的数据库
- JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法
- python 中pass的使用
- LeetCode 77.Combinations
- 服务端架构中的“网关服务器”
- Android 触摸及手势操作GestureDetector
- 个人常用linux命令
- PAT乙级—1009. 说反话 (20)-native
- 理解矩阵(三)
- SIP用户注册流程分析(improving)
- Android DrawerLayout 侧滑菜单
- 飞机大战制作笔记5