单调栈
来源:互联网 发布:战国红异端网络 编辑:程序博客网 时间:2024/06/06 13:00
单调栈是指栈中元素是按照严格单调递增或者单调递减的顺序,有以下两个性质(以单调递增栈为例):
1、从栈顶到栈底的元素是单调递增的
2、越靠近栈顶的元素,越后进栈。
单调栈只能在栈顶进行操作,即插入或者删除元素。操作过程(以单调递增栈为例):
如果当前元素是e,从栈顶开始遍历元素,如果栈顶元素小于等于e,则栈顶元素出栈,直到栈顶元素大于e或者栈空为止,再将e压入栈中。
一个单调递增栈的例子:
进栈元素分别为3,4,2,6,4,5,2,3
3进栈:(3)
3出栈,4进栈:(4)
2进栈:(4,2)
2出栈,4出栈,6进栈:(6)
4进栈:(6,4)
4出栈,5进栈:(6,5)
2进栈:(6,5,2)
2出栈,3进栈:(6,5,3)
以上左端为栈底,右端为栈顶。
本文参考:http://blog.csdn.net/alongela/article/details/8227707点击打开链接
0 0
- 单调栈 单调队列
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- LeetCode 72 Edit Distance(动态规划)
- Linux(Ubuntu)JDK安装
- 微信小程序之数据传递
- 第三方QQ登陆详解
- 04-NoSQL数据模型简介学习
- 单调栈
- Codeforces Round #413 B. T-shirt buying
- HTML5中CSS3的Transform属性
- 第七周 灵活布局
- Android中子线程真的不能更新UI吗?
- Codeforces Round #413 C. Fountains(RMQ线段树)
- 条件随机场CRF
- form表单的Enctype=multipart/form-data
- Linux系统安装时分区的选择