Increasing Subsequences LeetCode solution in C++

1
class Solution {
2
public:
3
set<vector<int>> ans;
4
void solve(int start, int n, vector<int> &nums, vector<int> &result) {
5
if (result.size() > 1) ans.insert(result);
6
if (start == n) {
7
return;
8
}
9
for (int i = start; i < n; i++) {
10
if (result.empty() || result.back() <= nums[i]) {
11
result.push_back(nums[i]);
12
solve(i + 1, n, nums, result);
13
result.pop_back();
14
}
15
}
16
}
17
vector<vector<int>> findSubsequences(vector<int> &nums) {
18
int n = nums.size();
19
vector<int> result;
20
solve(0, n, nums, result);
21
return vector<vector<int>>(ans.begin(), ans.end());
22
}
23
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0