一般流程
基础知识 ⭐ 入门 🔥 高频
💡 核心要点
第一遍刷题最怕的不是不会,而是不知道该怎么下手。真正有效的一刷,不是直接看答案,而是按固定顺序把题目拆开:读题、暴力解、目标复杂度、实现、复盘。
概念
- 一刷题的目标不是“把题做掉”,而是建立判断框架。
- 第一遍不会很正常,但你必须知道自己卡在了读题、建模、实现还是复杂度判断。
- 只要第一次流程稳定,后面二刷、复盘和迁移都会轻松很多。
怎么处理
一刷题的固定顺序
- 先完整读题,明确输入、输出、限制条件和边界。
- 先写出最直接的暴力解,不要一开始就强求最优。
- 再问自己目标复杂度是多少,能不能从暴力解继续优化。
- 实现时先用 Java 或 C++ 写出最稳的版本,再考虑压缩写法。
- 做完后记录:这题属于哪一类,我最开始卡在了哪里。
做不出来时怎么办
- 先确认自己有没有把样例手推清楚。
- 再确认自己是不会建模,还是不会写代码。
- 最后再去看题解,而且只先看思路,不要先抄代码。
典型实例
| 阶段 | 你应该做什么 | 目标 |
|---|---|---|
| 读题阶段 | 画输入输出关系,补充边界样例 | 读懂题 |
| 暴力阶段 | 写最直接的思路 | 建立问题感觉 |
| 优化阶段 | 看能否降到 、 | 建立复杂度意识 |
| 复盘阶段 | 记录题型、触发信号、易错点 | 建立迁移能力 |
一刷题最容易犯的错误
- 一上来就看最优解,导致没有自己的判断过程。
- 只记代码,不记为什么这题属于这一类。
- 做完题不复盘,第二天又像第一次见。
- 刷题速度过快,样例都没手推清楚就开始写。