-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathsubsets.cpp
More file actions
27 lines (24 loc) · 735 Bytes
/
subsets.cpp
File metadata and controls
27 lines (24 loc) · 735 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Solution {
void subsets_rec(vector<int>& nums, int idx, vector<vector<int>>& result ){
if(idx == nums.size()-1){
result.push_back({});
result.push_back({nums[idx]});
}
else{
subsets_rec(nums, idx+1,result);
int n = result.size();
for (int i =0;i<n;++i){
vector<int> r = result[i];
r.push_back(nums[idx]);
result.push_back(r);
}
}
}
public:
vector<vector<int>> subsets(vector<int>& nums) {
if(nums.empty() ) return {{}};
vector<vector<int>> result;
subsets_rec(nums, 0, result);
return result;
}
};