【LeetCode】NO.376 摆动序列 (C++) [贪心算法]

注意点

  • 循环的时候起点是从1开始的,截止的时候是 i<=len-1; 因为数组的下标是从0开始的,所以最后一个下标的索引是长度-1;否则会发生数组越界

思路

参考[https://www.cnblogs.com/Jucw/p/15733000.html]python这一篇

代码

class Solution {
public:
    int wiggleMaxLength(vector<int>& nums) {
        //init
        int cur=0, pre=0, result=1;
        //判读长度
        int len = nums.size();
        if (len<=1)
        {   
            return nums.size();
        }
        for(int i=1; i<=len-1; i++)
        {   
            cur = nums[i] - nums[i-1];
            if((pre<=0 && cur>0)||(cur<0 && pre>=0))
            {
                result += 1;
                pre = cur;
            }
        }
        return result;
    }
};
posted @ 2021-12-26 15:02  jucw  阅读(34)  评论(0编辑  收藏  举报