训练方法 A:专题刷题法
-
刷题要点:
- 按专题刷题:同一个专题下的题目套路相似,可以高效掌握特定算法。
- 螺旋上升式学习:先完成难度较低的题目(1700分以下),再逐步挑战更难的题目。
-
核心刷题路线:
- 完成基础题单后,可以自由选择其他知识点进行深入学习。
- 推荐结合视频教程(如 基础算法精讲)进行学习。
- 使用插件(如 LeetCode 题单状态显示插件)自动标记已做题目,方便管理。
-
完整题单(按专题分类):
- 滑动窗口与双指针:定长、不定长、单序列、双序列等。
- 二分算法:二分答案、最小化最大值、最大化最小值、第K小等。
- 单调栈:基础、矩形面积、贡献法、最小字典序等。
- 网格图:DFS、BFS、综合应用。
- 位运算:基础、性质、拆位、试填、恒等式等。
- 图论算法:DFS、BFS、拓扑排序、最短路、最小生成树等。
- 动态规划:入门、背包、状态机、划分、区间、状压等。
- 常用数据结构:前缀和、差分、栈、队列、堆、字典树等。
- 数学算法:数论、组合、概率期望、博弈、计算几何等。
- 贪心与思维:基本贪心策略、反悔、区间、字典序等。
- 链表、二叉树与回溯:前后指针、快慢指针、DFS、BFS等。
- 字符串:KMP、Z函数、Manacher、字符串哈希等。
-
优缺点总结:
- 优点:系统性强,能深刻理解算法本质,刷题效率高。
- 缺点:提前知道题目类型,可能跳过一些思考步骤。
训练方法 B:随机刷题法
-
操作步骤:
- 打开 难度练习。
- 关闭算法标签。
- 选择适合自己的难度范围。
-
优缺点总结:
- 优点:增强实战能力,查漏补缺。
- 缺点:知识点零散,不如题单系统。