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

对单调栈的理解

这几天一直被单调栈折磨,一直没有理解单调栈的本质,现在相较于之前,我理解了很多。

首先看到下面这张图

这个是一个数列。

然后对这个数列构造一个小压大的单调栈

现在我要求你从原始数列从右向做看,即从 1->2->7->4->5->3

随着下标的移动,找出这个动态后缀的最大值

当下标为6的时候 此时后缀里面的元素 只有1。 后缀最大值为1.

当下标移动到5时,此时后缀里面的元素有 1,2 . 此时后缀最大值为2.

当下标移动到4的时候,此时后缀里面的元素有 1,2,7. 此时后缀最大值为7.

当下标移动到3的时候 ,此时后缀里面的元素有 1,2,7,4. 此时后缀最大值为7.

当下标移动到2的时候,此时后缀里面的元素有 1,2,7,4,5. 此时后缀最大值为7.

当下标移动到1的时候,此时后缀里面的元素有1,2,7,4,5,3. 此时后缀最大值为7.

所以大家发现规律没有?

单调栈从下标和对应的值来看。单调栈一直在动态的“记着”后缀的最大值。它记住了每一个阶段的后缀最大值。由于在栈中存的数列的下标,这个下标可以看成动态“记住”的时间节点。


把“记着”这个动词换成高级一点的词语就是“维护”。 

http://www.dtcms.com/a/205214.html

相关文章:

  • 4082B信号/频谱分析仪
  • 视频监控联网系统GB28181协议中设备控制流程详解
  • 【Linux 性能采集】定周期采集某进程的CPU、内存、文件描述符信息并存储到文件【2025.05.21】
  • PromptIDE:一款强大的AI提示词优化工具
  • 【IC验证】systemverilog_包
  • 在线免费图片处理工具-传道软件图片工具
  • PH热榜 | 2025-05-21
  • 《对话记忆的进化史:智能体大模型如何实现跨轮次的深度交互》
  • id分页遍历数据漏行问题
  • 8天Python从入门到精通【itheima】-26~28
  • sqli-labs第十九关——POST-referer注入
  • 程序员日志之DNF手游笔者成长记录(一周年)
  • 【音频编码格式】AAC详解
  • 基于vue框架的动漫论坛g2392(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • java加强 -网络编程
  • 自动获取新版本 js 静态文件
  • 嵌入式开发学习日志(linux系统编程--文件读写函数(2))Day25
  • 【5.19-5.26学习周报】
  • 鸿蒙 模块的创建+Video简单使用
  • [Basic] 03.QEMU Task Model 概览
  • 项目时间紧迫的高效应对策略
  • KCTF-遗世独立
  • SpringBoot外部化配置
  • 前端开发遇到 Bug,怎么办?如何利用 AI 高效解决问题
  • 29.第二阶段x64游戏实战-技能冷却
  • 认知计算:迈向人类级智能的 AI 新范式
  • 《易经》的数学表达:初级版和高级版
  • labelme进行关键点标注并转换为yolo格式
  • 模型量化与保存
  • 防火墙高可靠性