数据结构与算法[LeetCode]—Combinations 求1至n中所有K位数的所有组合
来源:互联网 发布:路基路面工程设计软件 编辑:程序博客网 时间:2024/06/05 09:41
Combinations
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.
For example,
If n = 4 and k = 2, a solution is:
[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]
分析:由于需要穷举所有的情况,且有条件遍历。则用深搜DFS的方式。
//深搜,DFSclass Solution{public: vector<vector<int> > combine(int n, int k) { vector<vector<int> >ret; vector<int> path; dfs(n,k,1,0,path,ret); return ret; }private: //start表示,本次起始数,cur表示path中已经有cur个数 void dfs(int n,int k,int start,int cur,vector<int> &path,vector<vector<int> > &ret) { if(cur==k){ ret.push_back(path); return; } for(int i=start;i<=n;++i){ path.push_back(i); dfs(n,k,i+1,cur+1,path,ret); path.pop_back(); } }};
0 0
- 数据结构与算法[LeetCode]—Combinations 求1至n中所有K位数的所有组合
- Combinations 求1至n中所有K位数的所有组合
- Combinations 求1...n中k长度的组合 @LeetCode
- 数据结构与算法[LeetCode]—找出N个节点的BST的所有形态组合
- 求1-n位数的所有数
- 给定两个整数n和k,返回1 ... n中k个数的所有可能组合。
- 数据结构与算法[LeetCode]—Permutation Sequence 求n个数的全排列中第K个序列
- 编写算法输出从n个数中取k个(k小于等于n)的所有组合
- 算法--求0到N中所有1的个数
- 求集合所有K划分的算法
- 每天一道LeetCode-----找到1,2,...,n这n个数所有的组合,每个组合有k个元素,且元素大小递增
- 算法-1到n中所有和为m的组合
- 算法-求n内的所有质数
- 求字符串中元素的所有组合
- 算法题:求指定数组中和为N的出现的所有组合(二)
- C++从1~m数字中任取k个元素,求所有组合算法
- 深度优先算法求含有N个元素的集合的全部组合(即:在集合中选1,2,3...N个元素的所有组合,不是排列)
- 算法题:求从n个数组任意选取一个元素的所有组合
- 设计模式03-适配器模式(adapter)
- 联合图像分割论文摘记
- iOS开发- 蓝牙后台接收数据(BLE4.0)
- 笔试面试必会代码及必看书籍
- hadoop本地库
- 数据结构与算法[LeetCode]—Combinations 求1至n中所有K位数的所有组合
- Bash${}的用法
- JDBC连接MySQL或Oracle数据库(通过从属性文件jdbc.properties读,用Java的Property类)
- SRM 621 D2L3: MixingColors, math
- 数据库设计技巧
- 使用U盘安装Ubuntu14.04操作系统
- mysql 存储过程的使用
- C++ primer (5th) 随想与学习笔记 1 谈谈坚持的方法与意义
- 第十六周周报