刷LeetCode的正确姿势

今天,小伙伴问我,LeetCode刷了几道了??? 晴天霹雳。

确实要开始准备笔试了。但是也不想太盲目,所以先了解一下科学的刷题方法。

第一遍:从易到难—主要是easy和medium,广度,看别人的解法

第二遍:按类别—-深度,要有一个方面比较特殊

需要刷的数量 200~300 ,各个难度刷一半;每个类别的核心思想的理解,达到何种程度的优化。

反刷题:一开始就给出最优解? 然而能不能做出题目其实是次要,重要的是解决问题的思路

其实刷题并不是要去实现一个量化的目标,诸如我刷了多少?刷了几遍? 而是要去总结和理解题目背后的涵义。

找实习的话,其实学校的项目经验帮助不大,除非是参加过Github上大型的开源项目。


以下总结来自花花酱

  • 刷多少题
    • 每个类型10~20 DP越多越好
    • 总共200~300
  • 如何刷

    • 按类型总结
    • 第一遍:5分钟想不出来就看答案
    • 第二遍:尝试不看答案完整实现( 不超过60min)
    • 第三遍:快速实现( 不超过20min)
  • 看不同版本的代码—-速度中间偏前的

    • 看3~5种不同的实现,分析优缺点,速度快慢的原因
    • 学习新的语言/ API
  • 培养能力
    • 至少能看出该使用什么样的算法
    • 根据数据规模推算时间复杂度
    • 代码风格: 命名、缩进、括号

不多说了,今天就开始吧