数据结构之单调栈
初见暴力跑的,能过。学习题解,看到关键词单调栈,开始学习
单调栈
什么是单调栈
单调栈分为单调递增栈和单调递减栈
分别指栈底元素到栈顶元素,从大到小,以及从小到大
模拟单调栈以及伪代码
假设把数据[1,5,12,7,8]生成单调递增栈
- 取1,栈顶为空,放入1,此时栈为[1]
- 取5,栈顶为1,1 < 5,取出1,栈顶为空,放入5, 此时栈为[5]
- 取12,栈顶为5,5 < 12,取出5,栈顶为空,放入12, 此时栈为[12]
- 取7,栈顶为12,12 > 7, 放入7,此时栈为[12,7]
- 取8,栈顶为7,7 < 8,取出7,此时栈顶为12,12 > 8, 放入8, 此时栈为[12,8]