LeetCode674. 最长连续递增序列

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

示例 1:

输入: [1,3,5,4,7]
输出: 3
解释: 最长连续递增序列是 [1,3,5], 长度为3。
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。 

示例 2:

输入: [2,2,2,2,2]
输出: 1
解释: 最长连续递增序列是 [2], 长度为1。

注意:数组长度不会超过10000。


思路:遍历数组,如果a[i]<a[i+1],递增子序列数加1,否则重新计数,找出最大的递增子序列数即可。

class Solution {
    public int findLengthOfLCIS(int[] nums) {
        if(null==nums||nums.length==0) {
    		return 0;
    	}
        int max=1;   //最长递增子序列数量
        int tempCount=1;//临时存放每一段递增子序列数量
        for(int i=0;i<nums.length-1;i++) {
        	if(nums[i]<nums[i+1]) {
        		tempCount++;
        		if(tempCount>max) {
        			max=tempCount;
        		}
        	}else {
        		tempCount=1;  //重新计数
        	}
        }
    	return max;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_40550726/article/details/80950920
今日推荐