前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动画:什么是单调栈?

动画:什么是单调栈?

作者头像
五分钟学算法
发布2019-09-03 18:20:31
7850
发布2019-09-03 18:20:31
举报
文章被收录于专栏:五分钟学算法五分钟学算法

作者 | 程序员小吴

来源 | 五分钟学算法

定义

小伙伴们都应该非常熟悉栈,栈的一个很鲜明的性质就是:先进后出

而所谓 单调栈 则是在栈的 先进后出 基础之上额外添加一个特性:从栈顶到栈底的元素是严格递增(or递减)

具体进栈过程如下:

  • 对于单调递增栈,若当前进栈元素为 e,从栈顶开始遍历元素,把小于 e 或者等于 e 的元素弹出栈,直接遇到一个大于 e 的元素或者栈为空为止,然后再把 e 压入栈中。
  • 对于单调递减栈,则每次弹出的是大于 e 或者等于 e 的元素。

例子

单调递增栈 为例进行说明。

现在有一组数

代码语言:javascript
复制
3,4,2,6,4,5,2,3

让它们从左到右依次入栈。

具体过程如下:

动画描述

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 五分钟学算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
  • 例子
  • 动画描述
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档