给定一个未经排序的整数数组,找到最长且连续的的递增序列。
示例 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;
}
}