[编程题] lc:[674 最长连续递增序列

[编程题] lc:674. 最长连续递增序列

题目描述

给定一个未经排序的整数数组,找到最长且连续的的递增序列,并返回该序列的长度。

输入输出

image-20200724120423949

思路

image-20200724120605509

Java代码

class Solution {
    public int findLengthOfLCIS(int[] nums) {
        //极端条件
        if(nums.length==0 || nums==null) {return 0;}

        int i = 0;
        int j = 1;
        int count = 1;   //每次递增子序列的计数
        int max = 1;     //记录最大的子序列个数
        //j指针到数组头的时候退出
        while(j<=nums.length-1){
            //如果j指针指向的元素大于i指针指向的元素,就让i和j后移,记录当前的最大值。
            if(nums[j]>nums[i]){
                count++;
                i++;
                j++;
                //存储本次的结果
                max = count>max? count:max;
            }else{
                //如果不递增了,就重新赋予i j 初始值
                i = j;
                j = i+1;
                count = 1;q
            }
        }
        return max;
    }
}

时间复杂度

最坏O(n)

image-20200724120452896

posted @ 2020-07-24 12:11  北鼻coder  阅读(200)  评论(0编辑  收藏  举报