Files

77 lines
1.4 KiB
Org Mode
Raw Permalink Normal View History

2026-06-01 18:12:40 +08:00
#+ANKI_DECK: study_deck_02
* TODO 0978. Longest Turbulent Subarray :medium:
:PROPERTIES:
:NEETCODE: [[file:../../roadmap.org::*0978. Longest Turbulent Subarray][0978. Longest Turbulent Subarray]]
:END:
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:*
#+begin_src
Input: arr = [9,4,2,10,7,8,8,1,9]
Output: 5
Explanation: arr[1] > arr[2] < arr[3] > arr[4] < arr[5]
#+end_src
*Example 2:*
#+begin_src
Input: arr = [4,8,12,16]
Output: 2
#+end_src
*Example 3:*
#+begin_src
Input: arr = [100]
Output: 1
#+end_src
*Constraints:*
- ~1 <= arr.length <= 4 * 10^{4}~
- ~0 <= arr[i] <= 10^{9}~
** TODO Approach
Write your approach here.
** TODO Python
2026-06-05 22:32:49 +08:00
#+begin_src python :lc-problem 978 :lc-lang python3
class Solution:
def maxTurbulenceSize(self, arr: List[int]) -> int:
#+end_src
** TODO C++
2026-06-05 22:32:49 +08:00
#+begin_src cpp :lc-problem 978
class Solution {
public:
int maxTurbulenceSize(vector<int>& arr) {
}
};
#+end_src