leetcode 674.最长连续递增序列

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

连续递增的子序列 可以由两个下标 lrl < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。

示例 1:

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

示例 2:

复制代码
输入:nums = [2,2,2,2,2]
输出:1
解释:最长连续递增序列是 [2], 长度为1。

提示:

  • 1 <= nums.length <= 104
  • -109 <= nums[i] <= 109

public class Solution {

public static int findLengthOfLCIS(int[] nums) {

// 处理空数组情况,避免后续数组长度为0时的错误

if (nums == null || nums.length == 0) {

return 0;

}

int[] dp = new int[nums.length];

for (int i = 0; i < dp.length; i++) {

dp[i] = 1;

}

int res = 1;

for (int i = 0; i < nums.length - 1; i++) {

if (nums[i + 1] > nums[i]) {

dp[i + 1] = dp[i] + 1;

}

res = res > dp[i + 1] ? res : dp[i + 1];

}

return res;

}

}

相关推荐
玉树临风ives6 分钟前
atcoder ABC 452 题解
数据结构·算法
feifeigo12329 分钟前
基于马尔可夫随机场模型的SAR图像变化检测源码实现
算法
java1234_小锋38 分钟前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试
fengfuyao9851 小时前
基于STM32的4轴步进电机加减速控制工程源码(梯形加减速算法)
网络·stm32·算法
末央&1 小时前
【天机论坛】项目环境搭建和数据库设计
java·数据库
枫叶落雨2222 小时前
ShardingSphere 介绍
java
花花鱼2 小时前
Spring Security 与 Spring MVC
java·spring·mvc
无敌昊哥战神2 小时前
深入理解 C 语言:巧妙利用“0地址”手写 offsetof 宏与内存对齐机制
c语言·数据结构·算法
小白菜又菜2 小时前
Leetcode 2075. Decode the Slanted Ciphertext
算法·leetcode·职场和发展
Proxy_ZZ02 小时前
用Matlab绘制BER曲线对比SPA与Min-Sum性能
人工智能·算法·机器学习