数据结构与算法[LeetCode]—Combinations 求1至n中所有K位数的所有组合
2014-06-16 20:36
375 查看
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:
分析:由于需要穷举所有的情况,且有条件遍历。则用深搜DFS的方式。
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的方式。
//深搜,DFS class 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(); } } };
相关文章推荐
- 数据结构与算法[LeetCode]—两个有序数组合并及找中点问题
- (原创)基于关系数据库系统链式存储的树型结构数据,求某结点下的子树所有结点算法(t-sql语言实现)
- 【数据结构与算法】二叉查找树形态的排列组合
- 数据结构与算法以及leetcode刷题 012 二分搜索树
- 数据结构与算法C语言所有头文件汇总 —— 持续更新
- 数据结构与算法[LeetCode]——Jump Game I II
- 百度2014校园招聘算法——给出一组数据A=[a_0, a_1, a-2, ... a_n](其中n可变),打印出该数值元素的所有组合。
- 【数据结构与算法】关于排列组合
- 数据结构——算法(030)(在所有小写字母串大写字母前排)
- 数据结构与算法 leetcode 刷题010
- 数据结构基础(11)------------输出字符串的所有组合( Permutation)--腾讯笔试附加题
- 百度2014校园招聘算法——给出一组数据A=[a_0, a_1, a-2, ... a_n](其中n可变),打印出该数值元素的所有组合。
- 数据结构第5章例题 若矩阵Am×n中存在某个元素aij满足:aij是第i行中的最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。试编写一个算法,找出A中的所有鞍点。
- 【数据结构与算法】【leetcode】sum2 sum3 sum4 Combination Sum
- 数据结构与算法[LeetCode]—N_Queen问题
- 基于关系数据库系统链式存储的树型结构数据,求某结点下的子树所有结点算法(t-sql语言实现)
- 数据结构——算法之(012)( linux C 所有字符串操作函数实现)
- 数据结构与算法[LeetCode]—Maximum Subarray
- LeetCode 问题难度,面试出现频率及问题相关数据结构和算法
- Combinations 求1至n中所有K位数的所有组合