本文主要是介绍【leetcode2765--最长交替子数组】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
要求:给定一个数组,找出符合【x, x+1,x,x-1】这样循环的最大交替数组长度。
思路:用两层while循环,第一个while用来找到符合这个循环的开头位置,第二个用来找到该循环的结束位置,并比较一下max进行记录。
易错:要进行减一,因为上一个字符串最后一个结束的数字可能是下一个字符串的开头。
class Solution:def alternatingSubarray(self, nums: List[int]) -> int:ans = 0i ,n = 0, len(nums)while i < n-1:if nums[i+1]-nums[i] != 1:i += 1continuei0 = ii += 2while i < n and nums[i] == nums[i - 2]:i += 1ans = max(ans, i-i0)i -= 1return ans
自己重写的时候出现的写错句子:
这篇关于【leetcode2765--最长交替子数组】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!