朴素算法Bare Algo

栈与队列

栈与队列模拟、表达式解析及双端队列。

算法题

(12)

第 1 阶段:先把栈和队列基本操作练扎实

先熟悉括号匹配、最小栈、双栈双队列模拟和基础设计题。重点是入栈出栈顺序、辅助结构和边界条件。

20. 有效的括号

简单
栈字符串

232. 用栈实现队列

简单
栈设计队列

225. 用队列实现栈

简单
栈设计队列

155. 最小栈

中等
栈设计

933. 最近的请求次数

简单
队列设计数据流

622. 设计循环队列

中等
数组链表设计队列

第 2 阶段:学会用栈解析表达式和字符串

这一阶段开始处理路径化简、逆波兰表达式和括号展开。目标是把“延迟计算”和“局部结果回填”写稳定。

394. 字符串解码

中等
栈字符串递归

150. 逆波兰表达式求值

中等
数组数学栈

71. 简化路径

中等
栈字符串

227. 基本计算器 II

中等
数学栈

224. 基本计算器

困难
数学栈递归

第 3 阶段:掌握单调队列和复杂窗口模型

最后进入滑动窗口最大值这类综合题,重点理解队列里为什么只保留可能成为答案的元素。

239. 滑动窗口最大值

困难
队列滑动窗口堆单调队列

实际应用

(7)

Undo/Redo (撤销/重做)

中等

撤销重做常用双栈保存历史与回退状态,提升处理效率。

双栈编辑器状态管理

请求调度与缓冲

中等

异步请求常排队执行,控制并发与重试顺序,提升处理效率。

队列优先队列网络请求并发控制

解析与编译

困难

表达式与标签解析常借助栈匹配嵌套结构,提升处理效率。

栈结构解析器编译原理

消息缓冲

中等

消息突发到达时常入队缓冲,再批量消费,提升处理效率。

队列缓冲区通信高性能

滚动窗口统计

中等

滚动统计常维护定长窗口,持续更新指标值,提升处理效率。

单调队列循环队列监控统计

路由栈/弹窗栈

简单

多层弹窗与页面栈常按后进先出方式管理,提升处理效率。

栈结构路由交互

限流与节流

中等

滑动限流常记录时间戳队列,判断是否超限,提升处理效率。

队列滑动窗口性能优化安全