一. 模板 常见模型:找出滑动窗口中的最大值/最小值 int a[N], q[N]; // a[N]存放数组的值,q[N]存放对应值的下标,将队列位置映射到数组的位置 int hh = 0, tt = -1; // hh为队列头部,tt为队列尾部 for (int i = 0; i < n; i ++ ) { if (hh <= tt && check_out(q[hh])) hh ++ ; // 判断队头是否滑出窗口 while (hh <= tt && check(q[tt], i)) tt -- ;