LeetCode: Combinations
来源:互联网 发布:mac怎么切换全角半角 编辑:程序博客网 时间:2024/06/05 03:23
问题:
Given two integers n and k, return all possible combinations ofk 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],]
解答思路:
首先我们从n个数中取一个数,然后剩下的n-1个数又构成一个Combinations问题:从n-1(除去刚选择的那个数)个数中选择k个数的组合。所以这是一个递归问题。
参考代码:
class Solution {private: //n为生成范围的上限,k为组合中包含元素的个数,start为递归进行中的当前组合元素个数,item为当前组合结果,result为最终组合结果 void combine(int n, int k, int start, vector<int> &item, vector<vector<int>> &result) { if (item.size() == k) { result.push_back(item); return; } for (int i = start; i <= n; i++) { item.push_back(i);//取出第一个元素加入item中,即第一个位置放置i combine(n, k, i + 1, item, result);//剩下k-1个位置进行迭代计算 item.pop_back();//执行完以后将当前的元素弹出,重新进行一下一轮运算 } }public: vector<vector<int>> combine(int n, int k) { vector<vector<int>> result; vector<int> item; if (n >= k && k > 0) { combine(n, k, 1, item, result); } return result; }};
0 0
- LeetCode: Combinations
- LeetCode: Combinations
- LeetCode Combinations
- [Leetcode] Combinations
- [LeetCode] Combinations
- Leetcode: Combinations
- LeetCode Combinations
- [Leetcode] Combinations
- [Leetcode] Combinations
- [leetcode] Combinations
- [LeetCode]Combinations
- [leetcode]Combinations
- LeetCode-Combinations
- [leetcode] Combinations
- LeetCode - Combinations
- 【Leetcode】Combinations
- Leetcode: Combinations
- 【leetcode】Combinations
- hdoj 1850 Being a Good Boy in Spring Festival(基础尼姆博奕 )
- java final 修饰符详解
- LeetCode | Insertion Sort List
- hdoj 2509 Be the Winner(尼姆博奕变形)
- 里程监控pidstat
- LeetCode: Combinations
- 使用SecureCRT录制自动脚本
- 矩阵论与线性代数
- 最长上升子序列nlogn算法
- 关于电脑DLL占用内存 和 空间!
- hdoj 1907 John(尼姆博奕变形)
- 懒人部署插件实现智能、可视化更新程序,让用户不用一个文件一个文件的拷贝,有效防止少、漏更新,同时实现自动备份覆盖的文件,便于随时还原
- SecureCRT的自动登录和自动脚本记录功能图解
- oracle查看锁表进程,杀掉锁表进程