leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0491.cpp (622B)


0 class Solution {
1 vector<vector<int>> res;
2 vector<int> seq;
4 public:
5 vector<vector<int>> findSubsequences(vector<int> &nums) {
6 dfs(nums, 0);
7 return res;
8 }
10 void dfs(vector<int> &nums, int pos) {
11 if (seq.size() > 1) res.push_back(seq);
12 unordered_set<int> hash;
13 for (int i = pos; i < nums.size(); i++) {
14 if ((seq.empty() || nums[i] >= seq.back()) && !hash.count(nums[i])) {
15 seq.push_back(nums[i]);
16 dfs(nums, i + 1);
17 seq.pop_back();
18 hash.insert(nums[i]);
19 }
20 }
21 }
22 };