要求:给定一个数组,找出符合【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
自己重写的时候出现的写错句子: