摘自carl大佬總結
區域性最優:刪除單調坡度上的節點(不包括單調坡度兩端的節點),那麼這個坡度就可以有兩個區域性峰值。實際操作上,其實連刪除的操作都不用做,因為題目要求的是最長擺動子串行的長度,所以只需要統計陣列的峰值數量就可以了(相當於是刪除單一坡度上的節點,然後統計長度)但題目只要求返回i長度,所以並不需要真的刪除。最後統計區域性峰值即可。
關鍵是統計峰值也不好統計有一定的技巧。下面的錯誤**就是自己在統計峰值時的錯誤
1class
solution
12if(nums[i] < nums[i-1] && nums[i+1] > nums[i])
13if(i > 1 && nums[i] == nums[i-1] && nums[i] == nums[i+1])
14 res--;15}
16return
res;17}
18 };
上面**主要總差1,是因為連續三個相同值、連續兩個相同值出錯,總之討論繁瑣。從總個數中刪除非極值點不好做。
1class
solution 14}
15return
res;16}
17 };
leetcode376擺動序列
def wigglemaxlength two nums up j 表示當前元素較上乙個元素是公升序狀態,所以要找到與公升序狀態之前最近的逆序的狀態的長度down j 1 到i時當前序列的最長的擺動陣列的長度 down j 表示當前元素較上乙個元素是逆序的長度,到i時當前序列的最長的擺動陣列的長度 ...
Leetcode 376 擺動序列
如果連續數字之間的差嚴格地在正數和負數之間交替,則數字序列稱為擺動序列。第乙個差 如果存在的話 可能是正數或負數。少於兩個元素的序列也是擺動序列。例如,1,7,4,9,2,5 是乙個擺動序列,因為差值 6,3,5,7,3 是正負交替出現的。相反,1,4,7,2,5 和 1,7,4,5,5 不是擺動序...
leetcode376擺動序列
如果連續數字之間的差嚴格地在正數和負數之間交替,則數字序列稱為擺動序列。第乙個差 如果存在的話 可能是正數或負數。少於兩個元素的序列也是擺動序列。例如,1,7,4,9,2,5 是乙個擺動序列,因為差值 6,3,5,7,3 是正負交替出現的。相反,1,4,7,2,5 和 1,7,4,5,5 不是擺動序...