今日题目
https://leetcode.com/problems/longest-strictly-increasing-or-strictly-decreasing-subarray/
解题思路
按题意模拟即可。
解题方法
按题意模拟即可。
复杂度分析
-
时间复杂度:$O(N)$,N 为数组长度。
-
空间复杂度:$O(1)$。
代码
class Solution:
def longestMonotonicSubarray(self, nums: List[int]) -> int:
cntI, cntD = 1,1
ans = 1
pre = nums[0]
for x in nums[1::]:
if x > pre:
cntI += 1
ans = max(ans, cntD)
cntD = 1
elif x < pre:
cntD += 1
ans = max(ans, cntI)
cntI = 1
else:
ans = max(ans, cntI, cntD)
cntI = 1
cntD = 1
pre = x
return max(ans, cntI, cntD)