Day31 贪心算法part01

本质:局部最优推导整体最优

摆动序列

class Solution:
    def wiggleMaxLength(self, nums: List[int]) -> int:
        res = []
        if len(nums) == 1 or (len(nums) == 2 and nums[0] == nums[1]):
            return 1
        res.append(nums[1] - nums[0])
        r = 2
        i = 2
        while r < len(nums):
            multi = nums[r] - nums[i-1]
            if res[-1]  * multi < 0:
                res.append(multi)
                r += 1
                i = r
            else:
                r += 1
        
        return len(res) + 1

我这个写法只要遇到条件合适的就输出了,没有等到条件最好的

你可能感兴趣的:(贪心算法,算法)