| 1234567891011121314151617181920212223242526272829 | import java.util.LinkedList;class Solution {    public List<List<Integer>> findSubsequences(int[] nums) {        Set<LinkedList<Integer>> set = new HashSet<>();        List<LinkedList<Integer>> lists = new LinkedList<>();        for (int i : nums) {            lists.clear();            for (LinkedList<Integer> list : set) {                if (list.getLast() <= i) {                    LinkedList<Integer> newList = new LinkedList<>(list);                    newList.add(i);                    lists.add(newList);                }            }            for (LinkedList<Integer> list : lists) {                set.add(list);            }            LinkedList<Integer> list = new LinkedList<>();            list.add(i);            set.add(list);        }        List<List<Integer>> res = new LinkedList<>();        for (List list : set) {            if (1 < list.size()) res.add(list);        }        return res;    }}
 |