leetcode 字符串的所有的真子集

来源:互联网 发布:java程序员 图书 编辑:程序博客网 时间:2024/05/14 13:21

Given a set of distinct integers, S, return all possible subsets.

Note:

  • Elements in a subset must be in non-descending order.
  • The solution set must not contain duplicate subsets.


For example,
If S =[1,2,3], a solution is:

[  [3],  [1],  [2],  [1,2,3],  [1,3],  [2,3],  [1,2],  []

]

 vector<vector<int> > subsets(vector<int> &S) {        vector<vector<int> >D;        int t=S.size();        int A[t],n=t,i=0;        subset(A,n,i,D,S);        return D;    }    void subset(int A[],int n,int cur,vector<vector<int> >&D,vector<int> &S)    {        vector<int>t;        for(int i=0;i<cur;i++)        {            t.push_back(S[A[i]]);        }        sort(t.begin(),t.end());        D.push_back(t);        int s=cur?A[cur-1]+1:0;        for(int j=s;j<n;j++)        {            A[cur]=j;            subset(A,n,cur+1,D,S);        }            }

0 0
原创粉丝点击