当前位置: 首页 > article >正文

力扣-贪心-376 摆动序列

思路

记录前一个差值和后一个差值,需要分析很多情况

  1. 只有在发生波动的时候才更新差值——单调中有平坡
  2. 前一个差值==0时也更新差值——平坡留下最左边元素
  3. 最后一个元素不记录.默认从最后一个有坡度

代码

class Solution {
public:
    int wiggleMaxLength(vector<int>& nums) {
        int res = 1;
        int preDiff = 0;
        for(int i = 0; i < nums.size() - 1; i++){
            int curDiff = nums[i + 1] - nums[i];
            if(preDiff <= 0 && curDiff > 0 || preDiff >= 0 && curDiff < 0){
                res++;
                preDiff = curDiff;
            }
        }

        return res;
    }
};


http://www.kler.cn/a/561280.html

相关文章:

  • 人工智能 阿里云算力服务器的使用
  • Java中的@JSONField注解详解:用法、场景与实践
  • 51单片机编程学习笔记——点亮LED
  • 蓝桥杯笔记——递归递推
  • 单片机 Bootloade与二进制文件的生成
  • 深入解析:使用Python爬虫获取京东商品详情原数据API接口
  • 【java基础】Java 中的继承
  • API返回的数据结构包含哪些字段?
  • MyBatis-Plus(MP)2025/2/15
  • Python代码片段-断点任务
  • 侯捷 C++ 课程学习笔记:内存管理的每一层面
  • 【Godot4.3】自定义圆角容器
  • 登录-05.JWT令牌-介绍
  • Trae AI驱动开发实战:30分钟从0到1实现Django REST天气服务
  • 爬虫解析库:parsel的详细使用
  • 【MySQL】第八弹---全面解析数据库表的增删改查操作:从创建到检索、排序与分页
  • 算法很美笔记(Java)——动态规划
  • R语言Stan贝叶斯空间条件自回归CAR模型分析死亡率多维度数据可视化
  • 使用Socket编写超牛的http服务器和客户端(一)
  • Python学习总结