1.定范围与分级
列出高频考点:如双指针、二分、DFS/BFS、动态规划(背包、子序列),按考频和你的薄弱点排序,不要试图面面俱到。
2.学脉络+可视化理解
对于每个算法,先搞懂三点:它是解决什么问题的?它的思想是什么?为什么它比暴力法快?
3.背/整理通用模板
每个算法整理一个最小可用代码模板(如二分边界模板、DP状态转移框架、BFS框架)
标注清楚:哪里是输入、哪里是边界、哪里容易写错
4.针对性刷题+变体总结
每个算法刷2~5道典型题。刷完立刻总结:这道题属于哪类套路?我卡在哪里?模板哪里需要调整?
一道题算【彻底会了】的4个标准
1.不看题解,能独立一遍AC
不是靠回忆代码,是自己能从头想思路、写逻辑,一次过不卡壳、不看答案
2.能讲的清【为什么这么做】
能自己说出来:
1)为什么用这个算法(贪心/双指针/二分/DP/哈希)
2)为什么不用别的方法
3)时间复杂度、空间复杂度是多少
能讲明白=真懂;只会默写=假会。
3.遇到同类型变形题能秒反应
原题会了,换个壳、改个条件,不用看题解也能做。
比如:会了基础二分,遇到找左边界、右边界、旋转数组二分也能直接上手
4.隔7~14天重做,还能独立写出来
当天会不算会,隔一两周重做,依然能独立写出正确代码,才是真装进脑子了。
什么程度叫【刷废了,白刷】
1)看着题解抄一遍,过了就忘
2)只会背模板,换个变形就不会
3)能写代码,但讲不出思路,复杂度
4)一道题只做一遍,不复盘、不回顾。