leetcode:

单调栈

  • 用一个栈来记录遍历过的元素,并维护一个单调递增或单调递减的状态,一旦进入的元素不满足单调条件则出栈并记录情况
  • 单调栈里只需要存放元素的下标 i 就可以了,因为方便记录位置,需要使用对应的元素直接取数组中的对应下标
  • 单调栈的本质是空间换时间:因为在遍历的过程中需要用一个栈来记录,优点是整个数组只需要遍历一次

leetcode:

队列

单调队列

核心:维持一个队列,使其中的元素是单调递增或单调递减的

leetcode: