leetcode: Subsets
2013-05-18 22:47
363 查看
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 =
a solution is:
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 { void foo(int *array, int len, int remainNum, vector<int> &curVector, vector<vector<int>> &retVector) { if (remainNum == 0) { retVector.push_back(curVector); return; } for (int i = 0; i<len; i++) { curVector.push_back(array[i]); foo(&array[i+1], len-i-1, remainNum-1, curVector, retVector); curVector.pop_back(); } } public: vector<vector<int> > subsets(vector<int> &S) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<vector<int>> retVector; vector<int> curVector; sort(S.begin(), S.end()); retVector.push_back(curVector); int vectorSize = S.size(); for (int subsetNum = 1; subsetNum <= vectorSize; subsetNum++) { for(int i = 0; i < vectorSize; i++) { curVector.push_back(S[i]); foo(&S[i+1], vectorSize-i-1, subsetNum-1, curVector, retVector); curVector.pop_back(); } } return retVector; } };
相关文章推荐
- [leetcode]Subsets
- LeetCode || Subsets
- 90.Subsets II leetcode java
- Leetcode:Subsets 求数组的所有子集
- leetcode 78-Subsets
- Leetcode: Subsets
- Leetcode 78 Subsets
- 【一天一道LeetCode】#78. Subsets
- leetcode之subsets
- Subsets 子集系列问题 leetcode
- LeetCode - Subsets I && II
- LeetCode:Subsets I II
- [LeetCode]78 Subsets
- LeetCode78——Subsets
- LeetCode 078 Subsets
- LeetCode78 Subsets
- [Leetcode] Subsets
- leetcode:Subsets
- LeetCode_OJ【78】Subsets
- [LeetCode] Subsets