一、起因
宅在家中,不知该做点什么。没有很好的想法,自己一直想提升技能,语言基础自不必言,数据结构还算熟悉,算法能力一般。于是乎,就去刷一通题。
刷题平台有很多,我选择了在leetcode进行刷题。回头看第一篇文章,还算有一些收获的。
传送门: 从心出发-刷leetcode写给5年后的自己,原计划用3个月的时间,回头来看第1轮100题用了刚好30天。
二、刷题方法及做法
自2020年1月22日开始,到2020年2月21日至,刷了top-100-liked-questions
中的100道题目。普遍刷题的方法有两种:
1、“真刷题”:为刷题而刷题,刷的多了自然就会了。每天刷同类的题目,或者刷大量的题目。看到题目,直接去找答案,用最快的方法学会最优解答。
2、“随心刷”:没有很强的计划和目的性,看到题目先思考,会就去做。实在做不出来再去参考答案。
实话说,刷这100道题目,刚开始举步维艰。上路后就容易多了。最快的时候一天刷十几道题目,慢的时候,几天才做出来1道题目。
我的做法:
我的刷法,更接近于第2中方法。看到题目,如果以前遇到过,就迅速做出来。如果不会,就去思考,超过4小时做出来。再去看答案。每做一道题目,我会写一篇博客,记录一下我的做题,回头看来更多的也只是“流水账”而已。目前已经写完100篇,后续每天一篇发出来。
三、总结
通过这轮刷题,我明白了自己的优势和不足。简单休整一下,从心出发。
1、优势
读书时用功打下的基础,确实有用。语言基础、数据结构基础、算法基础、近十年的经验。
2、不足
细算起来,还是太菜。导致刷题过程很痛苦,算法是软肋。尤其是回溯不会裁剪,动态规划找不到转移方程。不一而足,还需继续努力。
刷的过程中,很多题目用“笨”方法做出来,但总是超时。不够Smart!
3、后续
先静静,找时间专攻上述软肋,再找题目去刷一轮。