C++基础算法 | 单调栈(Monotonous Stack)
需要比较前后元素的大小关系的问题,通常使用单调栈
求取左边第一个比它大,或者比它小的数
单调栈就是从数组中找到左右两边比你大的数或者比你小的数而且时间复杂度为O(N)
目录
C++基础算法 | 单调栈(Monotonous Stack)
什么是单调栈
单调栈就是栈里面存放的数据都是有序的,所以可以分为单调递增栈和单调递减栈两种。
-
单调递增栈就是从栈底到栈顶是从小到大
-
单调递减栈就是从栈底到栈顶是从大到小
刷题
模板
第一步和第三步一定有,第二步存结果,变形的话在于第一步
注意:有些情况需要剪枝,在