🧮 科学刷题体系图鉴 v3.0
🔖 核心方法论:**「五步拆题法」**
① 题型识别 → ② 模板适配 → ③ 边界处理 → ④ 复杂度分析 → ⑤ 相似题拓展
📐 滑动窗口与双指针
🪟 滑动窗口
- 定长窗口(字符串匹配)
- 不定长窗口(最长有效子串)
- 双序列窗口(两个数组的滑动)
🎯 双指针
- 快慢指针(环形检测)
- 前后指针(两数之和)
- 三指针系统(颜色分类)
- 分组循环(山脉数组)
🔍 二分算法
- 基础二分(有序查找)
- 二分答案(最小化最大值)
- 模糊二分(旋转数组搜索)
- 第K小元素(堆优化二分)
- 实数二分(精度控制)
🧱 单调栈
- 基础模型(下一个更大元素)
- 矩形面积(柱状图最大矩形)
- 贡献法(子数组最小值之和)
- 字典序优化(移掉K位数字)
🗺️ 网格图
- 岛屿问题(DFS/BFS)
- 动态规划综合(最小路径和)
- 拓扑排序(课程表问题)
- 双向BFS(单词接龙)
🔢 位运算
- 位操作技巧(lowbit运算)
- 试填法(二进制手表)
- 状态压缩(N皇后问题)
- 异或性质(找不同)
🧠 动态规划
🎒 经典模型
- 背包九讲(01/完全/多重)
- 状态机(买卖股票)
- 区间DP(回文子串)
🚀 进阶技巧
- 树形DP(二叉树监控)
- 数位DP(不含连续1的数字)
- 数据结构优化(斜率优化)
🌐 图论算法
- 最短路径(Dijkstra/Floyd)
- 连通性(Tarjan算法)
- 欧拉路径(一笔画问题)
- 二分图(染色法判定)
- 拓扑排序(课程安排)
📚 补充专题
🧩 数据结构
- 前缀和差分(子矩阵求和)
- 并查集(朋友圈问题)
- 线段树(区间修改查询)
🎲 数学思维
- 组合数学(卡特兰数)
- 随机算法(蓄水池抽样)
- 计算几何(凸包算法)
💡 学习建议
- 每日专注1个细分知识点(如「单调栈-贡献法」)
- 同类题连续刷3道(模板题→变形题→综合题)
- 制作思维脑图(可用XMind/Figma)
- 参加周赛验证学习成果(保留错题录像)
🔗 资源推荐
- 《剑指Offer》75题精讲
- LeetCode Cookbook分类题单
- 《算法小抄》高频技巧图解
🌟 TIP:建议搭配Notion进度看板使用,每完成一个专题点亮一颗算法之星✨