LeetCode(78) Subsets
来源:互联网 发布:java爬虫书籍推荐 编辑:程序博客网 时间:2024/05/18 01:05
在主函数中多次调用LeetCode(77) Combinations函数即可,本题没有多大研究意义。
代码如下:
class Solution {public: void dfs(vector<int> &nums, int index, int depth, int k, vector<int> &tmpVectorint, vector<vector<int>> &result) { if(depth == k) { return; } if(nums.size() - index < k - depth) return; for(int i = index; i < nums.size(); i++) { tmpVectorint[depth] = nums[i]; if(depth == k - 1) { //缺少这个步骤让我在这道题上花费好多时间。哎╮(╯▽╰)╭ vector<int> tmp(tmpVectorint.begin(), tmpVectorint.end()); //reverse(tmp.begin(), tmp.end()); sort(tmp.begin(), tmp.end()); cout << tmp[0] << endl; cout << tmp[1] << endl; result.push_back(tmp); continue; } dfs(nums, i + 1, depth + 1, k, tmpVectorint, result); } } void combine(vector<int>& nums, int k, vector<vector<int>> &result) { //vector<int> nums; //for(int i = n; i > 0; i--) //nums.push_back(i); //vector<vector<int>> result; vector<int> tmpVectorint(k, 0); dfs(nums, 0, 0, k, tmpVectorint, result); //reverse(result.begin(), result.end()); //result; } vector<vector<int>> subsets(vector<int>& nums) { sort(nums.begin(), nums.end()); vector<vector<int>> result; for(int k = 1; k <= nums.size(); k++) combine(nums, k, result); vector<int> emptyVector; result.insert(result.begin(), emptyVector); return result; }};
0 0
- [LeetCode 78] Subsets && [LeetCode 90] Subsets II
- LeetCode 78: Subsets
- LeetCode 78 Subsets
- [leetcode 78] Subsets
- Leetcode NO.78 Subsets
- [LeetCode 78]Subsets
- leetcode-78 Subsets
- leetcode || 78、Subsets
- Subsets - LeetCode 78
- leetcode 78 :Subsets
- LeetCode(78) Subsets
- Leetcode #78 Subsets
- leetcode 78: Subsets
- [leetcode-78]subsets(java)
- [Leetcode]#78 Subsets
- LeetCode(78) Subsets
- leetCode #78 subsets
- [leetcode]#78 Subsets
- HDOJ 5318 The Goddess Of The Moon 矩阵快速幂
- POJ 1201 Intervals 差分约束
- 网络字节顺序和本机字节顺序小谈
- OC特有语法—@property
- Maven项目模板
- LeetCode(78) Subsets
- 多线程学习总结
- Hello nginx
- css弹出遮罩层
- 快速排序的两种实现
- android 判断当前应用是否与服务器连接成功
- 重新定义超频 解读NVIDIA的Shader频率
- DH密钥交换(Diffie–Hellman key exchange)算法笔记
- leveldb 性能、使用场景评估