-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathm0978.py
38 lines (27 loc) · 834 Bytes
/
m0978.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""Longest Turbulent Subarray
Given an integer array arr, return the length of a maximum size turbulent
subarray of arr.
A subarray is turbulent if the comparison sign flips between each adjacent pair
of elements in the subarray.
More formally, a subarray [arr[i], arr[i + 1], ..., arr[j]] of arr is said to
be turbulent if and only if:
* For i <= k < j:
* arr[k] > arr[k + 1] when k is odd, and
* arr[k] < arr[k + 1] when k is even.
* Or, for i <= k < j:
* arr[k] > arr[k + 1] when k is even, and
* arr[k] < arr[k + 1] when k is odd.
Example 1:
* Input: arr = [9,4,2,10,7,8,8,1,9]
* Output: 5
* Explanation: arr[1] > arr[2] < arr[3] > arr[4] < arr[5]
Example 2:
* Input: arr = [4,8,12,16]
* Output: 2
Example 3:
* Input: arr = [100]
* Output: 1
Constraints:
* 1 <= arr.length <= 4 * 10^4
* 0 <= arr[i] <= 10^9
"""