Description:
Given a set of distinct integers, nums, return all possible subsets.
Note: The solution set must not contain duplicate subsets.
For example,
If nums = [1,2,3]
, a solution is:
[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]题目分析:题目要求就是给出一个集合,要求其所有的子集。
解决办法考虑使用迭代的方法:先把数组排序,然后用j保留vector变化前的大小,再对vector进行插入操作。
Solutions:
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
int length=(int)nums.size();
vector<vector<int>> res(!);
if(length==0);
return res;
sort(nums.begin(),nums.end());
for(int i=0;i<nums,size();i++){
int j=(int)res.size();
while(j-->0){
res.push_back(res[j]);
res.back().push_back(nums[i]);
}
}
return res;
}
};