leetcode之subsets
2013-09-07 20:00
351 查看
#include <iostream>
#include <vector>
using namespace std;
void dfs(int depth, vector<int>& s, vector<vector<int> >& res, vector<int> a, int start) {
res.push_back(a);
if (depth == s.size())
return;
for (int i = start; i < s.size(); i++) {
vector<int> b(a);
b.push_back(s[i]);
dfs(depth+1, s, res, b, i+1);
}
}
vector<vector<int> > subsets(vector<int>& s) {
vector<vector<int> > res;
if (s.empty()) {
return res;
}
vector<int> a;
dfs(0, s, res, a, 0);
}
int main() {
vector<int> s;
s.push_back(1);
s.push_back(2);
s.push_back(3);
vector<vector<int> > res;
res = subsets(s);
for (int i =0; i <res.size(); i++) {
for (int j = 0; j < res[i].size(); j++) {
std::cout << res[i][j] << " ";
}
std::cout << std::endl;
}
}
#include <vector>
using namespace std;
void dfs(int depth, vector<int>& s, vector<vector<int> >& res, vector<int> a, int start) {
res.push_back(a);
if (depth == s.size())
return;
for (int i = start; i < s.size(); i++) {
vector<int> b(a);
b.push_back(s[i]);
dfs(depth+1, s, res, b, i+1);
}
}
vector<vector<int> > subsets(vector<int>& s) {
vector<vector<int> > res;
if (s.empty()) {
return res;
}
vector<int> a;
dfs(0, s, res, a, 0);
}
int main() {
vector<int> s;
s.push_back(1);
s.push_back(2);
s.push_back(3);
vector<vector<int> > res;
res = subsets(s);
for (int i =0; i <res.size(); i++) {
for (int j = 0; j < res[i].size(); j++) {
std::cout << res[i][j] << " ";
}
std::cout << std::endl;
}
}
相关文章推荐
- LeetCode之Subsets
- [leetcode]Subsets II @ Python
- [LeetCode] Subsets [31]
- [LeetCode]Subsets II@python
- LeetCode---Subsets
- LeetCode: Subsets 解题报告
- Leetcode 78. Subsets
- [LeetCode]Subsets
- [LeetCode]Subsets
- LeetCode Subsets II
- LeetCode 78 Subsets (所有子集)
- leetcode -day31 Subsets I II
- leetcode - Subsets
- 【Leetcode】【python】Subsets/Subsets II
- LeetCode-Subsets-解题报告
- LeetCode: Subsets
- Subsets--LeetCode
- Leetcode 78 Subsets
- leetcode Subsets II problem
- Leetcode---Subsets