题目:
给定一个未经排序的整数数组,找到最长且连续的的递增序列。
示例 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。
解题思路
设置一个length 和 count,默认都为1
for循环,如果后一个值比前一个值大,则count值加1,如果小,则count重置为1。并和length相比,如果比length大,则将length的值替换为count的值,如果小,则length不变。最后输出length。
代码实现
class TenthSolution {
public int findLengthOfLCIS(int[] nums) {
if (nums.length <= 1) {
return nums.length;
}
int lenth = 1;
int count = 1;
for (int i = 0; i < nums.length - 1; i++) {
if (nums[i + 1] > nums[i]) {
count++;
} else {
count = 1;
}
if (count > lenth) {
lenth = count;
}
}
return lenth;
}
}
网友评论