2765. Longest Alternating Subarray

Difficulty:
Related Topics:
Similar Questions:

Problem

You are given a 0-indexed integer array nums. A subarray s of length m is called alternating if:

Return **the maximum length of all *alternating* subarrays present in **nums *or -1 if no such subarray exists***.**

A subarray is a contiguous non-empty sequence of elements within an array.

Example 1:

Input: nums = [2,3,4,3,4]
Output: 4
Explanation: The alternating subarrays are [3,4], [3,4,3], and [3,4,3,4]. The longest of these is [3,4,3,4], which is of length 4.

Example 2:

Input: nums = [4,5,6]
Output: 2
Explanation: [4,5] and [5,6] are the only two alternating subarrays. They are both of length 2.

Constraints:

Solution (Java)

class Solution {
    public int alternatingSubarray(int[] A) {
        int n = A.length, res = 0, j = 0;
        for (int i = 0; i < n; ++i)
            for (j = i + 1; j < n && A[j] == A[i] + (j - i) % 2; ++j)
                res = Math.max(res, j - i + 1);
        return res > 1 ? res : -1;
    }
}

Explain:

nope.

Complexity: