您的位置:首页 > 其它

【leetcode】Subsets

2014-12-29 21:18 288 查看

Subsets

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],
[]
]


采用递归,取当前元素,或者不取当前元素。

class Solution {

public:

vector<vector<int> > subsets(vector<int> &S) {

vector<vector<int> > result;

vector<int> tmp;

sort(S.begin(),S.end());

getSubset(result,S,0,tmp);

return result;

}

void getSubset(vector<vector<int> > &result,vector<int> &S,int index,vector<int> tmp)

{

if(index==S.size())

{

result.push_back(tmp);

return;

}

getSubset(result,S,index+1,tmp);

tmp.push_back(S[index]);

getSubset(result,S,index+1,tmp);

}

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