LeetCode 刷题指南

LeetCode 刷题指南

“刷题”的意义

刷题确实可能会让非常多人嗤之以鼻,但是没有办法,这一切都是市场决定的。如果要在这个市场生存,你只有两个选择,适应这条规则或者打破这条规则。如果我们可以打破这条规则,那说明我们拥有更大的价值,这当然很好。但是对于大多数人而言,可能或多或少会得刷一刷题。刷题一方面能让我们面试通过,另一方面也在过程中重温一些基础知识(可以不用再面对繁冗复杂的业务诉求)。

如何刷

笔者自己是从两条线分别出发刷题。一,按数据结构类型;二,按算法策略。从这两条线组织刷题顺序可以帮我们更快地构建起题与知识的映射关系。其实在面试解题过程中,关键要解决的就是破除题目本身的外壳,发现本质问题,属于什么类型的问题,需要用怎么样的数据结构与算法来解决。

现在LeetCode刷题已经非常方便了,并且本身社区也比较活跃。但是,额外的一些参考书籍对于我们的帮助也会非常大。下面罗列两本LeetCode题解。第一本101,是采用C++解题的,这本书的算法写的很容易理解,不像LC社区中很多人追求花哨——一行解题,意义不是很大。在面试过程,清晰的算法过程也是会给面试官比较好的音响。另一本Go写的题解,追求是算法性能,可以给我们拓宽思路,因为一道题解出来现在可能已经不是100分了,最佳的性能会让我们的面试更加突出。

LeetCode 题解参考

  1. Doing positive things. - LeetCode 101 (changgy.com)

  2. 序 | LeetCode Cookbook (halfrost.com)

算法参考书

  1. Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne (princeton.edu)

  2. The Algorithm Design Manual (algorist.com)

  3. Algorithms by Jeff Erickson (illinois.edu)


最后修改于 2022-02-18