链接 :
最长交替子数组
思路 :
对于每个起点,都是x,x+1,x,x+1....这样的循环,那么枚举每个起点模拟即可 ;
代码 :
class Solution {public int alternatingSubarray(int[] nums) {int ans = 0-1 ;int n = nums.length , i = 0 ; while(i < n - 1){if(nums[i+1] - nums[i] != 1){i ++;continue ;}int i0 = i ;i += 2 ;while(i < n && nums[i] == nums[i-2]){i++ ;}// 从i0到i-1是满足题目要求的ans = Math.max(ans , i - i0) ;i -- ;}return ans ;}
}