【LeedCode】78.Subset

来源:互联网 发布:Js button 非活性 编辑:程序博客网 时间:2024/06/15 16:49

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;

    }

};



0 0
原创粉丝点击