376. Wiggle Subsequence

https://leetcode.com/problems/wiggle-subsequence/

solution

  • 注意这里的判断条件

class Solution:
    def wiggleMaxLength(self, nums: List[int]) -> int:
        if len(nums) < 2:
            return len(nums)

        pre = 0
        res = 1
        for i in range(1, len(nums)):
            diff = nums[i] - nums[i-1]

            if pre * diff <= 0 and diff != 0:
                res += 1
                pre = diff
        return res

时间复杂度:O() 空间复杂度:O()

follow up

*280. Wiggle Sort

时间复杂度:O(n) 空间复杂度:O(1)

324. Wiggle Sort II

  • 结合 n-largestwiggle sort I 的方法

Last updated