题目链接
2765. 最长交替子数组 - 力扣(LeetCode)文章来源:https://www.toymoban.com/news/detail-818569.html
解题思路
题目要求返回所有交替子数组的最长长度,我们可以使用双层循环。外层循环遍历数组每一个的下标,使其作为交替子数组的第一个下标firstIndex。内层循环则从firstIndex往后遍历,判断接下来的元素是否满足交替子数组的条件。如果是那么更新最长长度,不马努的话就跳出内层循环,继续外层循环。外层遍历完成后,返沪最长长度。文章来源地址https://www.toymoban.com/news/detail-818569.html
解题代码
class Solution:
def alternatingSubarray(self, nums: List[int]) -> int:
res = -1
n = len(nums)
for firstIndex in range(n):
for i in range(firstIndex + 1, n):
length = i - firstIndex + 1
if nums[i] - nums[firstIndex] == (length - 1) % 2:
res = max(res, length)
else:
break
return res
到了这里,关于leetcode2765 最长交替子数组的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!