如果連續數字之間的差嚴格地在正數和負數之間交替,則數字序列稱為擺動序列。第乙個差(如果存在的話)可能是正數或負數。少於兩個元素的序列也是擺動序列。
例如,[1,7,4,9,2,5]
是乙個擺動序列,因為差值(6,-3,5,-7,3)
是正負交替出現的。相反,[1,4,7,2,5]
和[1,7,4,5,5]
不是擺動序列,第乙個序列是因為它的前兩個差值都是正數,第二個序列是因為它的最後乙個差值為零。
給定乙個整數序列,返回作為擺動序列的最長子序列的長度。 通過從原始序列中刪除一些(也可以不刪除)元素來獲得子串行,剩下的元素保持其原始順序。
示例 1:
輸入:[1,7,4,9,2,5]輸出:6解釋:整個序列均為擺動序列。示例 2:
輸入:[1,17,5,10,13,15,10,5,16,8]輸出:7解釋:這個序列包含幾個長度為 7 擺動序列,其中乙個可為[1,17,10,13,10,16,8]。示例 3:
輸入:[1,2,3,4,5,6,7,8,9]輸出:2class solution
};乙個陣列,比如 2 -1 -2 3 up=1 ---> down=2--->(-1還是比-2大)down=2 ---> up=3
return 3;
利用波峰和波谷為1 來做,比較巧妙解決這個問題
尋找波峰波谷
尋找波峰波谷也就是求極值 極值 data是你的資料,find diff sign diff data 2 1 找到極大值的位置 find diff sign diff data 2 1 找到極小值的位置 data find diff sign diff data 2 1 和 data find di...
趣味演算法 求波峰波谷最大值
給乙個陣列,求它的最大的波峰波谷的落差。舉例 陣列 a 其中 6 和 9 被看做是波峰,2和5則是波谷。d 2,6 4,d 6,5 1,d 5,9 4.則 thus,maxd a 4.想法 波峰不一定是陣列中的最大值,他是趨勢向下的轉折點,波谷也不一定是陣列中的最小值,他是趨勢向上的轉折點。陣列中最...
陣列的波谷
找陣列的波谷 原題 乙個陣列a 1 n 滿足a 1 a 2 a n a n 1 a i 被成為波谷,意味著 a i 1 a i a i 1 請給出乙個演算法,找到陣列中的乙個波谷。o n 的方法,是很直接,有更快的方法麼?分析 這個題目遍歷一遍陣列,顯然就可以找到全部的波谷。時間複雜度o n 空間複...