8.3-求子集

来源:互联网 发布:php二维数组键值互换 编辑:程序博客网 时间:2024/05/16 07:09

Write a method that returns all subsets of a set.

和leetcode的Subsets一样。

#include <iostream>#include <vector>#include <algorithm>using namespace std;vector<vector<int> >  ans;int len;void dfs(int dep, vector<int> line, vector<int> num){    ans.push_back(line);    if(dep == len)    {        return;    }    else for(int i=dep; i<len; i++)        {            line.push_back(num[i]);            dfs(i+1, line, num);            line.pop_back();        }}vector<vector<int> > subsets(vector<int> S){    sort(S.begin(), S.end());    vector<int> line;    len= S.size();    dfs(0, line, S);    return ans;}int main(){    int A[]= {1,2,3};    vector<int> S(A,A+3);    vector<vector<int> >  a=subsets(S);    for(int i=0; i<a.size(); i++)    {        for(int j=0; j<a[i].size(); j++)            cout << a[i][j];        cout << endl;    }    return 0;}


0 0
原创粉丝点击