今天,小伙伴问我,LeetCode刷了几道了??? 晴天霹雳。
确实要开始准备笔试了。但是也不想太盲目,所以先了解一下科学的刷题方法。
第一遍:从易到难—主要是easy和medium,广度,看别人的解法
第二遍:按类别—-深度,要有一个方面比较特殊
需要刷的数量 200~300 ,各个难度刷一半;每个类别的核心思想的理解,达到何种程度的优化。
反刷题:一开始就给出最优解? 然而能不能做出题目其实是次要,重要的是解决问题的思路
其实刷题并不是要去实现一个量化的目标,诸如我刷了多少?刷了几遍? 而是要去总结和理解题目背后的涵义。
找实习的话,其实学校的项目经验帮助不大,除非是参加过Github上大型的开源项目。
以下总结来自花花酱
- 刷多少题
- 每个类型10~20 DP越多越好
- 总共200~300
如何刷
- 按类型总结
- 第一遍:5分钟想不出来就看答案
- 第二遍:尝试不看答案完整实现( 不超过60min)
- 第三遍:快速实现( 不超过20min)
看不同版本的代码—-速度中间偏前的
- 看3~5种不同的实现,分析优缺点,速度快慢的原因
- 学习新的语言/ API
- 培养能力
- 至少能看出该使用什么样的算法
- 根据数据规模推算时间复杂度
- 代码风格: 命名、缩进、括号
不多说了,今天就开始吧