题目
难度:★☆☆☆☆
类型:数组
给定一个未经排序的整数数组,找到最长且连续的的递增序列。
示例
示例 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。
解答
遍历数组,查看所有的连续递增子序列,并及时记录连续递增子序列的最大值,这里需要注意遍历的范围和变量的初始化。
class Solution:
def findLengthOfLCIS(self, nums):
if not nums:
return 0
res = 1 # 初始化结果变量
cur_len = 1 # 初始化当前连续递增长度
for i in range(1, len(nums)): # 遍历
if nums[i-1] < nums[i]: # 如果发现递增对
cur_len += 1 # 长度+1
res = max(cur_len, res) # 更新结果
else: # 遇到非递增对
cur_len = 1 # 重置当前连续递增长度
return res
```
如有疑问或建议,欢迎评论区留言~