单调栈
来源:互联网 发布:美工修图多少钱一张 编辑:程序博客网 时间:2024/05/29 18:33
求比元素两边小的数
如序列:3 2 4 1 5 7
元素 左边 右边
3 无 2
2 无 1
4 2 1
1 无 无
5 1 无
7 5 无
解法:
维护一个栈,栈内元素递增
首先3进栈
再2准备进栈,但此时栈内元素不是递增,3先出栈。
因此2是3右边最近的比3小的元素。
同时3出栈,3出栈后,top为空。因此3左边最近的比3小的元素不存在。 因此 3 无 2;
2进栈后,4准备进栈。
此时满足递增。继续下一个元素1准备进栈。
1小于栈顶元素4。因此4出栈。同时1是4右边最近最小的元素。
4出栈后,top为2。因此4左边最近的比4校的元素是2。因此 4 21;
总结:
元素按顺序准备进栈。
若栈顶元素大于准备进栈的元素a,则栈顶元素b弹出,并且b的右边最近小的元素是a。b左边最近最小的元素是b出栈后栈顶元素c。
阅读全文
0 0
- 单调栈 单调队列
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- 单调栈
- spfa算法(洛谷模板题)
- QT 自定义IP地址输入框
- 16.笔记JAVA Spring框架学习————通过FactoryBean配置Bean
- Effective Java读书笔记-覆盖equals时遵守的通用约定
- 爬虫小白之————爬取csdn博客列表页面
- 单调栈
- 17.笔记JAVA Spring框架学习————基于注解配置Bean之一
- 在myeclipse中如何进行调试
- Android中的ListView设置setOnItemClickListener后发现onItemClick毫无作用的问题
- WorkerMan和ThingPHP的结合使用
- 三道典型C语言题(4)
- java对象与json之间的转换
- SVG与Canvas的特点
- 18.笔记JAVASpring框架学习————基于注解配置Bean之二