码迷,mamicode.com
首页 > 其他好文 > 详细

491. Increasing Subsequences

时间:2018-10-28 11:23:15      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:bsp   https   div   set   void   sort   class   lines   ble   

这道题要用Set去做
因为没有sort过 所以在后面也可能出现重复的东西

https://leetcode.com/problems/increasing-subsequences/discuss/97130/Java-20-lines-backtracking-solution-using-set-beats-100.

 

 

 1 class Solution {
 2     Set<List<Integer>> res = new HashSet<>();
 3     public List<List<Integer>> findSubsequences(int[] nums) {
 4         if(nums.length == 0) new ArrayList<>(res);
 5         visited = new boolean[nums.length];
 6         backtrack(nums, new ArrayList<>(), 0);
 7         return new ArrayList<>(res);
 8        
 9     }
10     
11     public void backtrack(int[] nums, List<Integer> list, int pos){
12         if(list.size() > 1){
13             res.add(new ArrayList<>(list));
14         }
15         
16         for(int i = pos; i < nums.length; i++){
17             if(list.size() != 0 && (nums[i] < list.get(list.size()-1))){
18                 continue;
19             }else{
20                 list.add(nums[i]);
21                 visited[i] = true;
22                 backtrack(nums, list, i+1);
23                 visited[i] = false;
24                 list.remove(list.size()-1);
25             }
26             
27             
28         }         
29         
30     }
31 }

 

491. Increasing Subsequences

标签:bsp   https   div   set   void   sort   class   lines   ble   

原文地址:https://www.cnblogs.com/goPanama/p/9864267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!