如何提高算法刷题的效率?你必须知道的几点!
如何提高算法刷题的效率?你必须知道的几点
刷题是一场持久战。
但你是否刷了很多题,却依然写不出?
是否总觉得“一刷就忘、越刷越乱”?
别急,问题不在你能力不够,而在方式没用对。
推荐解析
1. 明确目标,不要盲目广撒网
很多人一开始就海刷各种题库,结果刷了100道却没提升。
先确定自己是为了什么而刷?有些人有天赋,本身就适合算法,有些人从小学开始就学C++相关算法竞赛。
- 明确阶段目标:准备校招?考研?比赛?岗位面试?
- 针对不同目标,选择匹配的题型和难度。
- 面试:优先刷力扣经典面经题(Top100 / Hot100)
- 考研:搞清楚算法基础和数据结构原理
- 比赛:需要训练代码速度与思维反应
2. 刷题 ≠ 背题,要做精不做多
刷 10 道题会忘,精讲 1 道题能吃透思路。
我建议大家在语雀或者飞书中去总结一些分类的模版,比如说二叉树的遍历,比如八大排序,DFS和BFS,把常规的题目进行自我白话文的总结,这样会好记很多!
- 每道题至少做到:理解题意 → 独立尝试 → 优化思路 → 总结模板
- 不要只抄答案,尝试“默写”一遍
- 做一道题后,写一句话总结:这题考的核心是?什么套路?
3. 梳理题型,形成自己的套路框架
比如二分搜索、双指针、哈希表、滑动窗口等,都是刷题“高频题型”。
对于边界值,大数,类型转换等等套路都要进行总结。
- 按模块刷题,整理常见套路和边界陷阱
- 每学一个算法,就做几道“同类变体”题,形成条件反射式思考
- 建议使用可以同步到 Gitee和Github题单,每日学习推送,另外可以用思维导图进行总结题单分类。
4. 多次回顾旧题,建立题感
“做过 ≠ 会做”,你需要间隔一段时间再重做一遍。
一定要每隔一段时间复习,至于周期是看你自己的时间以及题量的,尤其是高频面试的期间,你甚至可以一天一个力扣HOT100,我当时就是如此,低频率的情况下一般一天花1-2小时去复习即可,可以刷20-40题左右的题量,2-3天也能完成hot100的题单了。(前提你已经刷过2,3遍至少了,才会有这样的速度)前期需要慢慢来,我都是在水课上带电脑,然后练习算法题目的。
- 做过的题,隔几天/一周复刷一遍,尝试不看题解写出思路
- 可以用“二刷、三刷”的方式巩固,提高熟练度
- 推荐使用刷题工具:LeetCode、牛客、OI Wiki、代码随想录等
结语
刷题不是目的,而是掌握“问题建模+解法表达”的能力。
很多人以为自己在刷题,其实只是“在记答案”。
你只有真正懂了题型的本质、熟练套用变体、能清晰表达思路,才算真的会。
需要 Java开发岗位面试高频算法题清单 可以关注我的公粽号:程序员落叶,有相关算法和 Java 辅导问题可以加我联系,xiaobaitiao_z。
八股传道之路,定期发发文章,免费!