Increasing Subsequences LeetCode solution in Java
1class Solution {2HashSet<List<Integer>> set;34public List<List<Integer>> findSubsequences(int[] nums) {5set = new HashSet<>();67dfs(nums, 0, new ArrayList<>());89List<List<Integer>> ans = new ArrayList<>();10if (set.size() > 0) {11ans.addAll(set);12}13return ans;14}1516private void dfs(int nums[], int start, List<Integer> temp) {17if (start == nums.length) return;1819for (int i = start; i < nums.length; i++) {20if (temp.size() == 0 || temp.get(temp.size() - 1) <= nums[i]) {21temp.add(nums[i]);2223if (temp.size() >= 2) set.add(new ArrayList<>(temp));2425dfs(nums, i + 1, temp);26temp.remove(temp.size() - 1);27}28}29}30}