数据结构

Tag

单调栈

给定一个数组,需要找到每个元素右边第一个比它大或者比它小的元素,暴力做法将会是平方的时间复杂度。如果利用单调栈,就能优化到线性的时间复杂度。本文将会对单调栈做具体的介绍,希望能让被单调栈困惑的读者豁...

单调队列

给定一个数组,设置一个窗口长度,需要求出每个窗口内的最大值或最小值,暴力做法将会是数组长度乘以窗口长度的时间复杂度。如果使用单调队列,将会是数组长度的线性时间复杂度。本文将对单调队列有一个具体的阐述...