1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution { public int alternatingSubarray(int[] nums) { int maxLength = -1;
for (int i = 0; i < nums.length - 1; ) { if (nums[i] + 1 == nums[i + 1]) { int j = i + 2; int exceptedDiff = -1; while (j < nums.length && nums[j] == nums[j - 1] + exceptedDiff) { exceptedDiff *= -1; j++; } maxLength = Math.max(maxLength, j - i); i = j - 1; } else { i++; } }
return maxLength; } }
|
References
2765. Longest Alternating Subarray