题目来源于力扣(LeetCode)
一、题目
题目相关标签:数组
注意:数组长度不会超过10000。
二、解题思路
-
初始化变量,最大长度与递增元素数量初始值为 1
-
遍历数组,从索引 1 开始
-
判断当前遍历元素是否大于前一位元素
-
若大于,说明为递增序列,则记录长度的变量加 1
-
若小于等于,则比较最大长度,并重置记录长度的变量为 1
三、代码实现
public static int findLengthOfLCIS(int[] nums) {
// 数组长度为 0 的判断
if (nums.length < 1) {
return 0;
}
// 初始长度为 1
int maxLen = 1;
int count = 1;
for (int i = 1; i < nums.length; i++) {
// 若当前遍历元素大于前一位元素
if (nums[i] > nums[i - 1]) {
count++;
} else {
// 更新最大长度
maxLen = Math.max(maxLen, count);
// 长度记录重置为 1
count = 1;
}
}
return Math.max(maxLen, count);
}
四、执行用时
五、部分测试用例
public static void main(String[] args) {
int[] nums = {1, 3, 5, 4, 7}; // output: 3
// int[] nums = {2, 2, 2, 2, 2}; // output: 1
int result = findLengthOfLCIS(nums);
System.out.println(result);
}