算法小白如何高效、快速刷Leetcode?

自报家门:ACM算法金牌获得者,曾经刷过的题超过2000道,总结了很多刷题的方法套路、以及高频题型的算法解题模板,可以帮你事半功倍。

快速排序QUICK SORT

算法小白如何高效、快速刷Leetcode?

归并排序 MERGE SORT

算法小白如何高效、快速刷Leetcode?

如果时间比较有限,方法总结起来仅一条:根据面试出现的频率进行分类刷题。按照大厂喜欢考的知识点排序,再把每个知识点里最高频的五道拿出来,集中火力解决掉这批题目。因为筛选过后,意味着这批题目是最有可能出现在我的面试中的,自然得先搞定它们。

下面是我总结的面试频率一览表:颜色越红,表示面试中碰到的概率越高;灰色的基本不考,或者出现概率很低。
算法小白如何高效、快速刷Leetcode?
有人可能会说,KMP有用到过呀,Manachers算法难道不是求最长回文子串的最优解吗?

你说得都对。不过在面试中,Manachers算法绝对不是面试官想看到的解法。为什么?

因为面试官可能自己也不会。

再说KMP算法,还有一个比这个更简单的算法,叫Rabin-Karp。如果是追求最优解,我为什么不去背个答案?

所以刷题之前,首先要明确目的。

如果不是搞ACM竞赛,只是准备算法面试的话,**一定要优先搞定那些面试中常见的算法和数据结构。**学有余力,再去搞KMP,Manachers这些骚操作。

下面是面试常见知识点的考察频率,以及建议刷题数量,有需要的自取。
算法小白如何高效、快速刷Leetcode?

做题方法

搞定要刷的题目之后,就得着手怎么做题?我一开始就是闷着头做,死磕,我相信大家应该深有体会,初期小白最经常犯的错误。在经过前辈指点之后我才知道,做题要讲究方法,特别是刷LC这种特点鲜明的题目。

首先,完成比完美重要,有些题目不是不会,而是不能完美解出来,就不敢动手。这样是不行的,要大胆做,先做个框架也好,再捋逻辑,填充细节。

其次,要学会看答案!!!很大大神在讨论区都有很好很简洁的答案和思路分享,做完一定要对照去看看,发现自己的不足。

5/31号(本周日),我主讲《九章算法班》即将全新上线~ 《九章算法班》已经有7年历史,帮助了数十万程序员找到了高薪工作。除了会讲如何刷题外,还会谈谈面试中正确沟通的技巧,培养coding style和bug free的能力。只要跟着我的方法刷题,1个月就能搞定算法面试,横扫大厂offer。

前三章试听课都是免费的噢,戳我抢占试听课前排~

试听内容如下:

算法小白如何高效、快速刷Leetcode?