单调栈 、 队列学习
推荐博客 : https://blog.csdn.net/zuzhiang/article/details/78134247
单调栈、队列只需满足两个条件即可,序列是单调的,并且符合栈和队列的特性。
实现:
例如实现一个单调递增的栈,比如现在有一组数10,3,7,4,12。从左到右依次入栈,则如果栈为空或入栈元素值小于栈顶元素值,则入栈;否则,如果入栈则会破坏栈的单调性,则需要把比入栈元素小的元素全部出栈。单调递减的栈反之。
10入栈时,栈为空,直接入栈,栈内元素为10。
3入栈时,栈顶元素10比3大,则入栈,栈内元素为10,3。
7入栈时,栈顶元素3比7小,则栈顶元素出栈,此时栈顶元素为10,比7大,则7入栈,栈内元素为10,7。
4入栈时,栈顶元素7比4大,则入栈,栈内元素为10,7,4。
12入栈时,栈顶元素4比12小,4出栈,此时栈顶元素为7,仍比12小,栈顶元素7继续出栈,此时栈顶元素为10,仍比12小,10出栈,此时栈为空,12入栈,栈内元素为12。
转载于:https://www.cnblogs.com/ccut-ry/p/9367715.html
单调栈 、 队列学习相关推荐
- 2019 计蒜之道 复赛 D——“星云系统”(单调栈||队列+贪心)
19.97% 1000ms 131072K VIPKID 是在线少儿英语教育平台,网络稳定是在线教育课程质量的红线,VIPKID 为此推出了全球最稳定的教育网络系统 -- "星云系统&quo ...
- 【数据结构】单调栈和单调队列 详解+例题剖析
算法:单调栈和单调队列 一.单调栈和单调队列 二.单调栈例题 1.模板题入门 2.不懂不要急,看这道题 三.单调队列例题 1.入门 2.进阶 一.单调栈和单调队列 单调栈和单调队列与普通的栈,队列不同 ...
- 【贪心-单调栈】中山纪念中学暑期游Day12——灵知的太阳信仰
前言 感觉自己就没弄懂过 单调栈\队列相关的优化... ... 题目 在炽热的核熔炉中,居住着一位少女,名为灵乌路空. 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量--核能. 核焰, ...
- 算法学习12: 单调队列和单调栈
算法学习12: 单调队列和单调栈 单调队列 单调队列解决的问题: 窗口内最大/最小值的更新结构 单调队列的结构和操作 单调队列的应用 题目一: 生成窗口最大值数组[leetcode 239](http ...
- Acwing算法基础课学习笔记(四)--数据结构之单链表双链表模拟栈模拟队列单调栈单调队列KMP
单链表 算法题中最常考的单链表就是邻接表(用来存储图和数),比如最短路问题,最小生成树问题,最大流问题.双链表用于优化某些问题. 利用数组来表达单链表:存储值和指针的两个数组利用下标进行关联. 需要注 ...
- LeetCode 1944. 队列中可以看到的人数(单调栈)
文章目录 1. 题目 2. 解题 1. 题目 有 n 个人排成一个队列,从左到右 编号为 0 到 n - 1 . 给你以一个整数数组 heights ,每个整数 互不相同,heights[i] 表示第 ...
- 算法学习 (门徒计划)4-2 单调栈(Monotone-Stack)及经典问题 学习笔记
算法学习 (门徒计划)4-2 单调栈(Monotone-Stack)及经典问题 学习笔记 前言 单调栈 基础 性质 代码实现 总结 经典例题 LeetCode 155. 最小栈 (基础) 解题思路 L ...
- 蒟蒻的ACM数据结构(四)-单调队列和单调栈
单调队列和单调栈 一.概念 二.实现 三.题目 单调队列 洛谷P1886 滑动窗口 解析 单调栈 [GXOI/GZOI2019]与或和 解析 POJ3250 Bad Hair Day 解析 POJ 2 ...
- 数据结构录 之 单调队列单调栈。
队列和栈是很常见的应用,大部分算法中都能见到他们的影子. 而单纯的队列和栈经常不能满足需求,所以需要一些很神奇的队列和栈的扩展. 其中最出名的应该是优先队列吧我觉得,然后还有两种比较小众的扩展就是单调 ...
最新文章
- 微软表示Edge的性能更优于Chrome和Firefox
- python3练习题:1-10
- 【OFDM】基于simulink的OFDM系统仿真
- leetcode 646. Maximum Length of Pair Chain | 646. 最长数对链(暴力递归->傻缓存->dp)
- Objective-C浮点数转化整数(向上取整、向下取整)
- 详解UML中的聚合,关联,泛化等关系
- [导入]从函数RND的使用想到的!
- json session cookie介绍和使用
- ASP.NET MVC2用户界面的巨大改变
- AVC与H264 区别
- [android开发IDE]adt-bundle-windows-x86的一个bug:无法解析.rs文件--------rs_core.rsh file not found...
- Ubuntu用Apache2快速搭建一个HTTP文件服务器
- android开发一款app的流程
- 数值计算和SVM讲解(下)
- 计算机加密win7,Win7系统如何加密电脑硬盘?Win7系统全盘加密方法介绍
- 20200227——Spring 框架的设计理念与设计模式分析
- 关于麒麟座开发板串口打印乱码与其它工程用官方源码出问题的解决方案
- contiki STM32移植
- Android调用相机拍照高清原图(兼容7.0)
- MATLAB实现三角剖分(Delaunay)算法