376. 摆动序列
求取所有的差值保存起来。然后再判断一正一负的规律是否成立
var flag int
func wiggleMaxLength(nums []int) int {
if len(nums) < 1 {
return 0
}
if len(nums) == 1 {
return 1
}
var res int
result := make([]int,len(nums))
m := 0
for i:=0; i<len(nums)-1; i++ {
if nums[i] != nums[i+1] {
result[m] = nums[i] - nums[i+1]
m++
}
}
if result[0] < 0 {
flag = -1
} else {
flag = 1
}
for i:=0; i<len(result); i++ {
if flag * result[i] > 0 {
flag *= -1
res += 1
}
}
return res + 1
}