本文作者:加贺,ACM金牌选手,九章算法助教
刷题,就是很痛苦很打击的过程,是不断怀疑自己适不适合搞CS这行的过程
我曾在中厂、大厂都工作过,也常年担任面试官。面试跟共事的人多了,总结出了这样的现象:
有的人天生适合玩ACM,连题都不带刷的
有的人刷了400-500到题,连中厂面试都过不了
没办法,这就叫做幸存者偏差。
能怎么办呢?不能靠智商占领技术高低的话,那只能接受现实:好好刷题
一遍一遍的刷题,总结总结再总结,实战实战再实战,坚持下来,你会获得本质上的提升。
所以,我爆肝了一套《程序员进阶必刷编程80题》,同时在Github上获得了800多颗星星,希望那些在学习或事业上遭遇瓶颈的同学能够在这套题中找到学习思路,不断进步。
我认为,高效的刷题思路应该是这样的:
1、直接看答案,理解解题思路,然后自己思考,并用实际例子来验证反推,理解这段code的精髓
2、先按自己的思路写code,然后再于答案比对
3、重复上述两个步骤,不断刷,不断实践,重复多此,很快就能熟悉下来
4、在不看提示的情况下,给其他人讲清楚这道题的思路,讲清楚后就可以练习下一道了
我将进阶式刷题分为十二个阶段
阶段一:链表
阶段二:二分法