单调栈的应用

单调栈,顾名思义,是栈内元素保持一定单调性(单调递增或单调递减)的栈。这里的单调递增或递减是指的从栈顶到栈底单调递增或递减。既然是栈,就满足后进先出的特点。

应用

用于解决的问题:

可以获取左边第一个或者右边第一个比当前位大或者小的数

具体表现为:

1.最基础的应用就是给定一组数,针对每个数,寻找它和它右边第一个比它大的数之间有多少个数。

2.给定一序列,寻找某一子序列,使得子序列中的最小值乘以子序列的长度最大。

3.给定一序列,寻找某一子序列,使得子序列中的最小值乘以子序列所有元素和最大。
https://blog.csdn.net/zuzhiang/article/details/78134247

由于还有题目没写完,之后再过来补

posted @ 2019-07-25 11:22  sparkyen  阅读(399)  评论(0编辑  收藏  举报