leetcode 78. 子集
程序员文章站
2024-03-21 14:53:40
...
遍历数组
结果从空集开始,向已知的集合加入当前元素,将一个自己加到结果里面到最后一个元素是即为结果
#include <iostream>
#include <vector>
using namespace std;
#define debug(x) cout<<#x<<": "<<x<<endl;
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> temp1;
vector<vector<int>> temp2;
temp1.push_back({});
//debug(temp1.size());
for(int i=0;i<nums.size();i++){
for(int j=0;j<temp1.size();j++){
vector<int> ve = temp1[j];
temp2.push_back(ve);
ve.push_back(nums[i]);
temp2.push_back(ve);
}
//swap(temp1,temp2);
temp1 = temp2;
temp2.clear();
}
return temp1;
}
};
void disp(vector<vector<int>> ret){
for(auto i:ret){
for(auto j:i){
cout<<j<<" ";
}
cout<<endl;
}
cout<<endl;
}
int main()
{
Solution Solution1;
vector<int> nums = {1,2,3,4,5};
vector<vector<int>> ret = Solution1.subsets(nums);
disp(ret);
return 0;
}
上一篇: c++ primer 第七章习题
下一篇: VS2010制作PDF报表