Files
LeetCode-Go/leetcode/0376.Wiggle-Subsequence/376. Wiggle Subsequence.go
2021-03-19 12:17:24 +08:00

21 lines
348 B
Go

package leetcode
func wiggleMaxLength(nums []int) int {
if len(nums) < 2 {
return len(nums)
}
res := 1
prevDiff := nums[1] - nums[0]
if prevDiff != 0 {
res = 2
}
for i := 2; i < len(nums); i++ {
diff := nums[i] - nums[i-1]
if diff > 0 && prevDiff <= 0 || diff < 0 && prevDiff >= 0 {
res++
prevDiff = diff
}
}
return res
}