leetcode 978. Longest Turbulent Subarray | 978. 最长湍流子数组(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 978. Longest Turbulent Subarray | 978. 最长湍流子数组(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/longest-turbulent-subarray/
題解
雖然 similar questions 沒列出來,但能想到之前做過的(至少題目看起來)類似的題:
- leetcode 324. Wiggle Sort II | 324. 擺動排序 II(降序穿插)
- leetcode 376. Wiggle Subsequence | 376. 擺動序列(動態規劃)
本題思路:
class Solution {public int maxTurbulenceSize(int[] arr) {int preSign = 0; // 0:前==后 -1:前>后 1:前<后int cur = 1;int result = 1;for (int i = 1; i < arr.length; i++) {int curSign = Integer.compare(arr[i], arr[i - 1]);if (curSign * preSign == -1) { // 前后符號相反cur++;} else {cur = curSign == 0 ? 1 : 2;}preSign = curSign;result = Math.max(result, cur);}return result;} }總結
以上是生活随笔為你收集整理的leetcode 978. Longest Turbulent Subarray | 978. 最长湍流子数组(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 85. Maximal
- 下一篇: leetcode 516. Longes