首页 > 其他 > 详细

491. Increasing Subsequences 491.增加子序列

时间:2020-07-03 09:14:28      阅读:91      评论:0      收藏:0      [点我收藏+]

Given an integer array, your task is to find all the different possible increasing subsequences of the given array, and the length of an increasing subsequence should be at least 2.

 

Example:

Input: [4, 6, 7, 7]
Output: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]

和划分字符串一样的思路,就是把isPalindrome换成isIncreasing就行了
如果出现了空串、长度为1的串,需要限制一下temp的尺寸大于等于2

技术分享图片
class Solution {
    public List<List<Integer>> findSubsequences(int[] nums) {
        //cc
        List<Integer> temp = new ArrayList<>();
        List<List<Integer>> result = new ArrayList<>();
        
        if (nums == null) return null;
        if (nums.length == 0) return result;
        
        dfs(nums, 0, temp, result);
        
        return result;
    }
    
    public void dfs(int[] nums, int start, List<Integer> temp, List<List<Integer>> result) {
        //控制一下size
        if (start == nums.length && temp.size() >= 2) {
            result.add(new ArrayList(temp));
        }else {
            for (int i = start; i < nums.length; i++) {
                if (isIncreasing(nums, start, i)) {
                    //temp.add(Arrays.copyOfRange(nums, start, i));
                    for (int j = start; j < i; j++) {
                        temp.add(nums[j]);
                    }
                    dfs(nums, i + 1, temp, result);
                    
                    if (temp.size() >= 1)
                    temp.remove(temp.size() - 1);
                }
            }
        }
    }
    
    //isIncreasing
    public boolean isIncreasing(int[] nums, int start, int end) {
        for (int i = start; i < end - 1; i++) {
            if (nums[i + 1] < nums[i])
                return false;
        }
        return true;
    }
}
View Code

 

 

491. Increasing Subsequences 491.增加子序列

原文:https://www.cnblogs.com/immiao0319/p/13228149.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!