您的位置:首页 > 其它

[Leetcode]Subsets II

2015-01-27 06:32 363 查看
//DFS,要改变temp和result的值,所以要用到&

//每次循环最后要pop出最后一个元素

class Solution {

private:

vector<int>temp;

vector<vector<int>>result;

void sub_set(vector<int> S, vector<int>&temp, vector<vector<int>>&result,int index)

{

result.push_back(temp);

for(int i=index;i<S.size();i++)

{

if(i!=index&&S[i]==S[i-1])

continue;

temp.push_back(S[i]);

sub_set(S,temp,result,i+1);

temp.pop_back();

}

}

public:

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

result.clear();

if(S.size()<=0)

return result;

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

sub_set(S,temp,result,0);

return result;

}

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