想法:
举个例子:
给定{1,3}
{}也是子集
A = {{}}
首先拿到 1,放入到A的各个元素中,然后添加到A
A = {{},{1}}
拿到3,放入到A的各个元素中,然后添加到A
A = {{},{1},{3},{1,3}}
代码:
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> vec({{}});
int length = nums.size();
if(length == 0) return vec;
int i = vec.size();
int count = 0;
while(count < length){
for(int j = 0;j < i;j++){
vector<int> tmp = vec[j];
tmp.push_back(nums[count]);
vec.push_back(tmp);
}
i = vec.size();
count++;
}
return vec;
}
};
欢迎留言评论