给定一个未经排序的整数数组,找到最长且连续的的递增序列。
示例 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。
解答:
遍历数组的同时更新max变量(连续递增序列长度至少为1);
特殊情况数组大小为0,返回0;数组大小为1,返回1;
class Solution {
public int findLengthOfLCIS(int[] nums) {
if (nums.length <= 1) return nums.length;
int max = 1;
int len = 1;
for (int i = 1; i < nums.length; i++) {
if (nums[i - 1] < nums[i]) {
max = max < ++len ? len : max;
} else {
len = 1;
}
}
return max;
}
}