leetcode 491. Increasing Subsequences | 491. 递增子序列(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 491. Increasing Subsequences | 491. 递增子序列(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/increasing-subsequences/
題解
class Solution {public List<List<Integer>> findSubsequences(int[] nums) {Set<List<Integer>> set = process(nums, 0);List<List<Integer>> result = new ArrayList<>();for (List<Integer> list : set) {if (list.size() >= 2) result.add(list);}return result;}public Set<List<Integer>> process(int[] nums, int pos) {if (pos == nums.length) {Set<List<Integer>> set = new HashSet<>();set.add(new ArrayList<>());return set;}Set<List<Integer>> set = process(nums, pos + 1);Set<List<Integer>> newSet = new HashSet<>();for (List<Integer> list : set) {List<Integer> list1 = new ArrayList<>();if (list.isEmpty() || nums[pos] <= list.get(0)) {list1.add(nums[pos]);list1.addAll(list);newSet.add(list1);}newSet.add(list);}newSet.addAll(set);return newSet;} }總結
以上是生活随笔為你收集整理的leetcode 491. Increasing Subsequences | 491. 递增子序列(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 486. Predict the Win
- 下一篇: leetcode 494. Target