mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 00:25:22 +08:00
21 lines
348 B
Go
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
|
|
}
|