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