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

一、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;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问题: 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。...
    留十夜阅读 4,241评论 0 0
  • 题目 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(...
    六尺帐篷阅读 3,375评论 0 1
  • 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上...
    和蔼的zhxing阅读 3,427评论 0 0
  • 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上...
    DayDayUpppppp阅读 1,697评论 0 0
  • 美国 “喂,谁啊?”这时林紫薇还没有睡醒,接听电话没看备注。 “喂,薇薇啊,我是妈妈,你还没起床吧,赶快起床,一会...
    蓝色冰雪阅读 1,783评论 0 0

友情链接更多精彩内容