
class Solution:
def findLengthOfLCIS(self, nums: List[int]) -> int:
#先判定数组是否为空
if not nums:
return 0
j = 0
size = len(nums)
#一开始设置0出错了,因为只要是非空的数组最终都会出现长度至少为1的非空数组
res = 1
for i in range(1,size):
if nums[i]>nums[i-1]:
res = max(i-j+1,res)
else:
j=i
return res
#官方题解
ans = 0
n = len(nums)
start = 0
for i in range(n):
if i > 0 and nums[i] <= nums[i - 1]:
start = i
ans = max(ans, i - start + 1)
return ans
- 连续递增序列这种题一般求的连续窗口的最大值
- 既然是连续窗口的最大值,那肯定需要直到窗口的两端了,因此可以使用双指针去解决这个问题
- 一次遍历,使用双指针记录连续窗口的大小,使用max函数不断更新最大值