朴素算法Bare Algo

栈与队列

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

算法题

(12)

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

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

20. 有效的括号

简单
栈字符串

232. 用栈实现队列

简单
栈设计队列

225. 用队列实现栈

简单
栈设计队列

155. 最小栈

中等
栈设计

933. 最近的请求次数

简单
队列设计数据流

622. 设计循环队列

中等
数组链表设计队列

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

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

394. 字符串解码

中等
栈字符串递归

150. 逆波兰表达式求值

中等
数组数学栈

71. 简化路径

中等
栈字符串

227. 基本计算器 II

中等
数学栈

224. 基本计算器

困难
数学栈递归

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

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

239. 滑动窗口最大值

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