贪心算法:4.摆动序列

题目链接:376. 摆动序列(中等)

算法原理:

解法:贪心

证明

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-30
 * Time: 19:45
 */
class Solution {
    //376. 摆动序列
    //看着吴小哲的算法原理自己写出来的
    //跟吴小哲的差不多
    public int wiggleMaxLength(int[] nums) {
        int left=0;
        int ret=1;//先把最后一个点算上
        for(int i=0;i+1<nums.length;i++){
            int right=nums[i+1]-nums[i];//计算接下来的趋势
            if(right==0) continue;//如果水平,直接跳过
            if(left*right<=0) ret++;//累加波峰或者波谷
            left=right;
        }
        return ret;
    }

    public static void main(String[] args) {
        System.out.println(new Solution().wiggleMaxLength(new int[]{1,7,4,9,2,5}));
    }
}
相关推荐
萧瑟余晖4 分钟前
Java深入解析篇六十一之编译器API(javax.tools)详解
java·开发语言
HugoStudio_SWAN16 分钟前
洛谷 P10719 \[GESP202406 五级] 黑白格——暴力美学与图像处理的最小外接矩形
c++·图像处理·人工智能·学习·程序人生·算法·目标跟踪
那年窗外下的雪.23 分钟前
AIDC 学习日志|第 20 天|多归属业务验收与哈希不均定位
学习·算法·哈希算法
码云数智-园园29 分钟前
C++ STL 容器怎么选?vector、list、map、unordered_map 优缺点对比
java·开发语言
en.en..36 分钟前
竖线 |:管道、按位或、掩码组合
java·开发语言
程序猿乐锅1 小时前
【计算机组成原理 | 第六章】中央处理器 CPU
java·开发语言
大模型丫丫1 小时前
如何提升单体 Spring Boot 应用的并发数?
java·spring boot·后端
Terra.K1 小时前
ThreadLocal解决一个线程里面跨层传递问题
java·开发语言·后端
s_w.h2 小时前
【 刷题 】双指针
算法
啥都想学点的研究生2 小时前
一篇文章讲清楚:K-Means聚类算法
算法·kmeans·聚类