标签:des style blog io ar color os sp for
Given a collection of integers that might contain duplicates, S, return all possible subsets.
Note:
For example,
If S = [1,2,2]
, a solution is:
[ [2], [1], [1,2,2], [2,2], [1,2], [] ]
class Solution { public: vector<vector<int> > subsetsWithDup(vector<int> &S) { sort(S.begin(), S.end()); vector<vector<int>> ret = {{}}; int size = 0, startIndex = 0; for (int i = 0; i < S.size(); i++) { startIndex = i >= 1 && S[i] == S[i - 1] ? size : 0; size = ret.size(); for (int j = startIndex; j < size; j++) { vector<int> temp = ret[j]; temp.push_back(S[i]); ret.push_back(temp); } } return ret; } };
标签:des style blog io ar color os sp for
原文地址:http://www.cnblogs.com/code-swan/p/4141193.html