力扣-贪心-376 摆动序列

news/2025/2/23 15:14:53

思路

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

  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.niftyadmin.cn/n/5863518.html

相关文章

企业微信第三方应用开发025_企微通讯录组件使用04_vue中使用ww-open-data通讯录展示组件---企业微信开发027

前面已经调试通了,已经成功了,这里只是给出一个例子,来实现,对ww-open-data的使用 在vue中使用. 首先在: <template><div><el-dialog:close-on-click-modal="false"title="新增员工活码":type="type":visible.sync="dial…

如何有效判断与排查Java GC问题

干货分享&#xff0c;感谢您的阅读&#xff01; 在现代Java应用中&#xff0c;垃圾回收&#xff08;GC&#xff09;是一个不可忽视的重要环节。尽管GC自动管理内存&#xff0c;避免了手动释放资源的麻烦&#xff0c;但它带来的性能开销却常常困扰开发者。从GC暂停时间到吞吐量…

计算机网络-面试总结

计算机网络 从输入一个URL到页面加载完成的过程 整体流程 DNS查询过程SSL四次握手HTTP 的长连接与短连接 HTTP 的 GET 和 POST 区别浏览器访问资源没有响应&#xff0c;怎么排查? OSI七层参考模型 TCP/IP四层参考模型比较 TCP/IP 参考模型与 OSI 参考模型 TCP三次握手&四…

Python 高级数据结构操作全解析:从理论到实践

Python 高级数据结构操作全解析&#xff1a;从理论到实践 本文深入剖析 Python 高级数据结构&#xff0c;通过丰富的代码示例、形象的配图&#xff0c;详细讲解集合、字典、堆、队列等数据结构的操作&#xff0c;同时拓展相关知识&#xff0c;帮助读者深入掌握 Python 编程核心…

吉林大学数据库系统概念SQL、关系代数习题汇总

吉林大学数据库系统概念SQL、关系代数习题汇总(持续更新) 奔腾 数据库系统原理考试&#xff08;A卷&#xff09; // (1) create table branch( branch_name varchar(20), branch_city varchar(20), assets numeric(12, 2), primary key (branch_name));create table customer(…

基于Spring Boot的协同过滤电影推荐系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

万字长文解析:深入理解服务端渲染(SSR)架构与全栈实践指南

一、SSR核心原理深度剖析 1.1 技术定义与演进历程 服务端渲染&#xff08;Server-Side Rendering&#xff09;指在服务器端完成页面DOM构建的技术方案。其发展历程可分为三个阶段&#xff1a; 阶段时期典型技术传统SSR2000-2010JSP/PHP现代SSR2015-2020Next.js/Nuxt.js混合渲…

var、let、const区别

在 JavaScript 中&#xff0c;var、let 和 const 是用于声明变量的关键字&#xff0c;但它们的作用域、提升行为以及可变性等方面有显著区别。以下是它们的详细对比&#xff1a; 1. var 作用域: var 声明的变量是函数作用域&#xff08;function-scoped&#xff09;&#xff0c…