贪心算法: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}));
    }
}
相关推荐
show4332 小时前
2026小程序端AI智能优化技术实践:转文字后自动纠错+润色+分段算法分析
人工智能·算法·小程序
互联网中的一颗神经元2 小时前
01. Go 内存管理全景架构
java·jvm·golang
萧瑟余晖2 小时前
Java深入解析篇三十四之分布式事务
java·开发语言·分布式
CAE虚拟与现实2 小时前
源码注解 /class 注解 / 运行时注解三者生命周期
java·开发语言
互联网中的一颗神经元2 小时前
02. 核心概念与术语表
java·jvm·spring
January12072 小时前
Cassandra CQL 基本命令详解
java
平生不晚3 小时前
在 SVG 体系里画一条任意的线
前端·算法
Escalating_xu3 小时前
【Linux】线程概念与控制:从地址空间、LWP 到 pthread_create、join、detach 与 NPTL
java·linux·redis
Lam Tang3 小时前
APS 系列文章 09
java·代理模式
evans在进步3 小时前
LeetCode 198:打家劫舍——Java 动态规划详解
java·leetcode·动态规划