Increasing Subsequences LeetCode solution in Java

1
class Solution {
2
HashSet<List<Integer>> set;
3

4
public List<List<Integer>> findSubsequences(int[] nums) {
5
set = new HashSet<>();
6

7
dfs(nums, 0, new ArrayList<>());
8

9
List<List<Integer>> ans = new ArrayList<>();
10
if (set.size() > 0) {
11
ans.addAll(set);
12
}
13
return ans;
14
}
15

16
private void dfs(int nums[], int start, List<Integer> temp) {
17
if (start == nums.length) return;
18

19
for (int i = start; i < nums.length; i++) {
20
if (temp.size() == 0 || temp.get(temp.size() - 1) <= nums[i]) {
21
temp.add(nums[i]);
22

23
if (temp.size() >= 2) set.add(new ArrayList<>(temp));
24

25
dfs(nums, i + 1, temp);
26
temp.remove(temp.size() - 1);
27
}
28
}
29
}
30
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0