yyyying的blog

好好学习 天天向上

0%

单调栈学习

数据结构之单调栈

力扣2104: 子数组的范围

初见暴力跑的,能过。学习题解,看到关键词单调栈,开始学习

单调栈

什么是单调栈

单调栈分为单调递增栈单调递减栈
分别指栈底元素到栈顶元素,从大到小,以及从小到大

模拟单调栈以及伪代码

假设把数据[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]

单调栈例题

单调栈解决力扣2104题