每日一題 978 最長湍流子陣列

2021-10-25 15:51:18 字數 491 閱讀 3647

最開始理解有誤

這道題實際上的意思就是 以開頭的作為基準

如果第一對是上公升 那麼第二對就要下降

如果第一對是下降 那麼第二對就要上公升

有什麼能改進的地方希望大佬們提出來 非常感謝!

class

solution

else

}public

intmaxturbulencesize

(int

arr)

boolean flag =

judge

(arr[left]

,arr[right]);

while

(rightelse

}else}}

else

else

}else}}

ans=math.

max(ans,right-left);}

return ans;

}}

978 最長湍流子陣列

求最值問題,不用輸出具體的結果,只需要輸出長度,那麼就可以使用動態規劃,確定了方法,就可以根據方法的模板來寫。首先確定狀態,這裡的dp陣列為2行n列 dp 0 j 表示以第j個數字為結尾的,且當前為公升序列,也就是第j個數大於第j 1個數。dp 1 j 表示以第j個數字為結尾的,且當前為降序列,也就...

978 最長湍流子陣列

當 a 的子陣列 a i a i 1 a j 滿足下列條件時,我們稱其為湍流子陣列 若 i k j,當 k 為奇數時,a k a k 1 且當 k 為偶數時,a k a k 1 或 若 i k j,當 k 為偶數時,a k a k 1 且當 k 為奇數時,a k a k 1 也就是說,如果比較符號在...

978 最長湍流子陣列

當a的子陣列a i a i 1 a j 滿足下列條件時,我們稱其為湍流子陣列 也就是說,如果比較符號在子陣列中的每個相鄰元素對之間翻轉,則該子陣列是湍流子陣列。返回a的最大湍流子陣列的長度。示例 1 輸入 9,4,2,10,7,8,8,1,9 輸出 5 解釋 a 1 a 2 a 3 a 4 a 5 ...