首发于 轮子工厂 写文章

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

谭庆波 ​ 哈尔滨工业大学 计算机科学与技术博士在读

首先要搞清楚一个问题:那就是为什么要刷题?

程序员刷题一方面是为了巩固和提高自己已经学过的编程技巧,增强自己的算法能力,另一方面也是为了增加自己在面试过程中的信心,希望靠自己的编程能力拿到一个好offer。

那要怎么刷题呢?

其实很多算法题都可以用暴力的解法去解,代码提交也能通过,但是如果你用这个态度去刷题的话,就违背了你刷题的初衷,因为暴力解题对编程技巧没有太大的提升,面试官也能一眼识破,他肯定会问你有没有更优的解。所以在刷题的时候一定要多想一下有没有更优解,尽量达到每道题都runtime beats 100%。

但是作为一个算法小白,面对LeetCode上的题,可能就是没有思路,不知道怎么解,这种情况该怎么办呢?

也没有关系,推荐可以去看一下「LeetCode Cookbook」这本书。

这本书是霜神去年刷LeetCode整理出的 520 道题汇总,每道题都给了解题思路和代码,并且每题都 runtime beats 100% 了。所以如果你刷题的时候没有思路的话,可以参照书上给的思路去解,等你把这本上的所有题都摸透,你算法水平肯定可以上一个台阶,而且也能够从容面对面试中的各种算法问题。

书的链接:https://pan.baidu.com/s/1lpFbVYSVxoBevh5Q_WOMuw

提取码:h6w3