如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。
例如,[1,7,4,9,2,5]是一个摆动序列,因为差值(6,-3,5,-7,3)是正负交替出现的。
相反,[1,4,7,2,5]和[1,7,4,5,5]不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。
子序列可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。
给你一个整数数组nums,返回nums中作为摆动序列的最长子序列的长度。
示例1:
输入:nums=[1,17,5,10,13,15,10,5,16,8]
输出:7
解释:这个序列包含几个长度为7摆动序列。
其中一个是[1,17,10,13,10,16,8],各元素之间的差值为(16,-7,3,-3,6,-8)。