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