美文网首页
数组-最长上升连续子序列

数组-最长上升连续子序列

作者: Summer舒舒 | 来源:发表于2017-11-05 17:57 被阅读6次

一、LintCode链接

最长上升连续子序列

二、问题描述

给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。)

三、关键点分析

  • 连续上升,从左到右或从右到左
  • 最长
  • 不考虑相邻数据相等

四、解决思路(Java)

  public int longestIncreasingContinuousSubsequence(int[] A) {
        if (A == null) {
            return 0;
        }

        if (A.length <= 2) {
            return A.length;
        }

        int maxLength = 2;
        int currentLength = 2;

        for (int i = 2; i < A.length; i++) {
            if (A[i - 2] < A[i - 1] && A[i - 1] < A[i]
                    || A[i - 2] > A[i - 1] && A[i - 1] > A[i]) {
                currentLength++;
            } else {
                maxLength = Math.max(maxLength, currentLength);
                currentLength = 2;
            }
        }

        maxLength = Math.max(maxLength, currentLength);
        return maxLength;
    }

相关文章

  • dp经典问题

    1. 最长子序列问题 最长上升不连续子序列 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入:...

  • 动态规划设计

    1. 最长子序列问题 最长上升不连续子序列 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入:...

  • 数组-最长上升连续子序列

    一、LintCode链接 最长上升连续子序列 二、问题描述 给定一个整数数组(下标从 0 到 n-1, n 表示整...

  • 子序列问题

    一些子序列问题 (持续补充) 最长上升子序列 题目 dp数组,每一个数组记录前面最长的上升序列长度。 和标程对比 ...

  • 算法(04)动态规划

    零钱问题 背包问题 最长公共子序列 最长公共子串 最长上升子序列 最大连续子序列和

  • 公共子序列问题

    最长公共子序列 最长上升子序列 最长公共上升子序列

  • LintCode-最长上升连续子序列 II

    描述 给定一个整数矩阵(其中,有 n 行, m 列),请找出矩阵中的最长上升连续子序列。(最长上升连续子序列可从任...

  • LintCode 398 [Longest Increasing

    原题 给定一个整数矩阵(其中,有 n 行, m 列),请找出矩阵中的最长上升连续子序列。(最长上升连续子序列可从任...

  • 397. 最长上升连续子序列

    给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上...

  • LintCode最长上升连续子序列

    给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上...

网友评论

      本文标题:数组-最长上升连续子序列

      本文链接:https://www.haomeiwen.com/subject/blkhmxtx.html