LeetCode-Combinations
来源:互联网 发布:linux dev目录 编辑:程序博客网 时间:2024/05/01 06:48
class Solution {public: vector<vector<int> > combine(int n, int k) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<vector<int> > combination; vector<int> vec(k); if (k > 0 && k <= n) { dfs(vec, combination, n, k, 0, 1); } return combination; } void dfs(vector<int> &vec, vector<vector<int> > &combination, int n, int k, int dep, int start) { if (dep == k) { combination.push_back(vec); } else { for (int i = start; i <= n; ++i) { vec[dep] = i; dfs(vec, combination, n, k, dep + 1, i + 1); } } }};
更简单点的写法:
class Solution {public: vector<vector<int> > subsets(vector<int> &S) { // Start typing your C/C++ solution below // DO NOT write int main() function sort(S.begin(), S.end()); vector<vector<int> > sets; vector<int> set; sets.push_back(set); dfs(0, S.size(), S.size(), 0, set, sets, S); return sets; } void dfs(int dep, int maxDep, int n , int start, vector<int> &set, vector<vector<int> > &sets, vector<int> &S) { if (dep < maxDep) { for (int i = start; i < n; ++i) { set.push_back(S[i]); sets.push_back(set); dfs(dep + 1, maxDep, n, i + 1, set, sets, S); set.pop_back(); } } }};
- 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
- 工具 JDK
- 第一把机械键盘开包图
- 重装win7后修复ubuntu引动菜单
- 【SQL】MySQL之使用mysqldump全备份及恢复过程详解
- 队列的 增、删、查
- LeetCode-Combinations
- 项目总结之录制视频
- HDU-2081
- 题目1505:两个链表的第一个公共结点-九度
- iOS程序设计
- Windows驱动开发随想2
- 关于矩阵中的特征值和特征向量
- uva 10012
- ActionBar