贪心算法: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}));
    }
}
相关推荐
海清河晏1111 小时前
数据结构 | 单循环链表
数据结构·算法·链表
wuweijianlove5 小时前
算法性能的渐近与非渐近行为对比的技术4
算法
一定要AK5 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao5 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
_dindong5 小时前
cf1091div2 C.Grid Covering(数论)
c++·算法
AI成长日志5 小时前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
KevinCyao6 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
迷藏4946 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
黎阳之光6 小时前
黎阳之光:视频孪生领跑者,铸就中国数字科技全球竞争力
大数据·人工智能·算法·安全·数字孪生
skywalker_116 小时前
力扣hot100-3(最长连续序列),4(移动零)
数据结构·算法·leetcode