首页 > 其他分享 >单调栈的使用

单调栈的使用

时间:2024-05-13 21:19:49浏览次数:21  
标签:数列 递增 元素 栈顶 使用 单调 入栈

以leetcode739为例,我们利用单调栈维护一个单调递增数列

https://leetcode.cn/problems/daily-temperatures/description/

 通过上述内容,我们一直通过栈顶读取元素,维护数列的单调性。

Q:单调栈用于做什么

A:求每个元素左(右)侧第一个比他小(大)的元素的位置(具体值)

单调栈的维护和操作都是On复杂度,因为所有元素都是进出栈一次

如何操作单调栈:

假设我们有n个数,让他们从头开始入栈:分为当前数>、=、<栈顶元素三种情况,根据我们要求的是单调非递减/递减/非递增/递增数列,规定这三种情况。

以单调非递减数列为例

-输入:入栈元素

-入栈元素<=栈顶元素

  入栈元素入栈

-while(入栈元素>栈顶元素){

  栈顶元素出栈

  其他操作

 }

 

标签:数列,递增,元素,栈顶,使用,单调,入栈
From: https://www.cnblogs.com/kun1790051360/p/18190031

相关文章

  • Markdown编辑器使用指北
    一级二级三级标题#一级##二级###三级链接调用[链接名](地址)[G_A_TS的Blog](https://www.cnblogs.com/wzzorz)效果:G_A_TS的Blog删除线~~不是哥们~~效果:不是哥们加粗**我加粗了**效果:我加粗了黑幕效果......
  • 实例内使用百度网盘
    在GpuMall平台的实例中,可以通过使用baidupcs命令工具来实现对个人百度网盘账号中的数据上传及下载操作,具体操作方法如下:立即免费体验:https://gpumall.com/login?type=register&source=cnblogs备注下载baidupcs命令工具到实例中获取BDUSS和STOKEN通过BDUSS和STOKE......
  • 实例内使用阿里云盘
    在GpuMall平台的实例中,可以通过使用aliyunpan命令工具来实现对个人阿里云盘账号中的数据上传及下载操作,具体操作方法如下:立即免费体验:https://gpumall.com/login?type=register&source=cnblogs备注下载aliyunpan命令工具到实例中在实例中登录aliyunpan在实例中下载阿......
  • Windows 上的 OpenSSH:安装、配置和使用指南
    Windows上的OpenSSH:安装、配置和使用指南发布日期:2024-03-08 分类:Windows  对于大多数Windows用户来说,远程桌面协议(RDP)凭借其友好的图形界面,一直是远程管理的首选。但对于需要更精细控制的系统管理员而言,SSH才是更适合的选择。它通过命令行实现与远程设备的交互,让管......
  • vue2使用elementUI组件el-tooltip指定元素进行提示信息(图标显示信息)
     <el-table-columnprop="operation"label="操作"borderwidth="200px"><templateslot-scope="scope"><divclass="operation-icons"><!......
  • http及https模拟工具使用总结及客户端及服务端模拟代码样例
      一、工具介绍1、restclient-1.2.jar为客户端请求工具,可以调用任何的http及https的服务,可以任意调用https的网页地址(比入百度等)及postman模拟的服务。 2、HttpMockServerTool.jar只能模拟http的服务端,不能模拟https的。 需要自己造个返回响应文档 1.txt使用参考......
  • arthas使用
    arthas中文文档https://github.com/alibaba/arthas/blob/master/README_CN.md1、下载并启动curl-Ohttps://arthas.aliyun.com/arthas-boot.jarjava-jararthas-boot.jar2、选择java进程[INFO]JAVA_HOME:/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/H......
  • 单调栈
    单调栈:可以线性预处理:序列前/后缀最大/小值的位置,或者是第\(i\)个数下一个更小/大数的位置。B3666求数列所有后缀最大值的位置https://www.luogu.com.cn/problem/B3666题意:给一个初始为空的数列\(a\),共\(n\)次操作,第\(i(1\leqi\leqn)\)次操作会在\(a\)的末尾......
  • Ubuntu报错:E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
    sudoaptupdate错误:11https://mirrors.ustc.edu.cn/ubuntujammy/mainarm64Packages404NotFound[IP:2001:da8:d800:95::110443]忽略:20https://mirrors.ustc.edu.cn/ubuntujammy/restrictedarm64Packages......
  • 程序员的AI编程小助手,CodeGeeX使用体验总结
    程序员的AI编程小助手,CodeGeeX使用体验总结:::warning一、1.CodeGeeX是什么?能做什么?CodeGeeX是一个智能编程软件工具,目前CodeGeeX支持多种主流IDE,如VSCode、visualstudio2022,IntelliJIDEA、PyCharm、Vim等,同时,支持Python、Java、C++/C、JavaScript、Go等多种语言。::......