您的位置:首页 > 其它

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: