本文作者分享了自己通过刷算法题进入大厂的经验,包括刷题的种类、数量以及方法。作者推荐了一本新书《算法面试》,并详细解释了刷题过程中重要的几个方面,包括科学的刷题顺序、利用题解和精益求精。最后,作者强调建议拉长战线、养成习惯,不要急于求成。
作者分享了自己刷1000多道算法题的经验,包括在LeetCode、PAT、其他名校OJ等平台上的刷题经历,以及如何总结经验和方法的。
作者推荐了一本新书《算法面试》,并详细介绍了该书的内容,包括比较科学的刷题顺序、配套的题解和教学视频等。
作者提出了在刷题过程中需要注意的几个方面,包括科学的刷题顺序、利用题解、精益求精等,并给出了具体的建议和方法。
作者鼓励大家不要怀疑自己的能力,坚持努力就会有进步。同时,还给出了关注公众号的朋友参与抽奖活动的信息。
实不相瞒,我是大二才意识到要刷算法题的,此前自己基础很差,所以为了进大厂以及准备保研,我用一年半的时间,刷了
1000 多道
算法题目(LeetCode 600+、PAT、其他名校 OJ 400+),也总结了一些经验方法分享给大家。
很多朋友刚开始刷 LeetCode 可能都会怀疑自己的 “智商”,但是初次接触 LeetCode 时感觉仍然像是走进了一个船新的世界,感觉上面的题目自己无从下手。
不过当我找到了诀窍后,渐渐发现 LeetCode 也没有那么恐怖。我是从大二开始刷算法的,每天坚持留 2 个小时,刷 2-3 道题目,大概过了一年,面试中的算法题目基本都可以迎刃而解!也帮助我拿到了一些大厂的 offer,最后入职鹅厂。
我总共刷了 1000 多道算法题目,光在 LeetCode 上就有 600 多道(简单、中等各占一半),还刷了一些其他平台或书籍上应对面试的题目。
像书来说,可以提供做题的参考顺序和比较准确的解题思路,最好还能做到知识点的回顾,最近清华大学出版社出了一本新书《算法面试》,作者是武大教授李春葆老师,
我也有幸写了书评给大家推荐
。LeetCode 还专门给这本书定制了做题环境,买书兑换付费的 plus 会员题目,非常全面。
我认为在刷题过程中比较重要的几个方面,这本书都涵盖了,比如:
1、比较科学的刷题顺序
三个要点
:从【算法和数据结构专项】刷起,从【简单的】刷起,从【通过率高】的刷起!
这本书里从算法到数据结构进行了比较全面的梳理,每章节前都有思维导图,每个小节通过相关的题目进行演练,相对自己零散地选题目来说,体系会更加清晰。如果对知识点有遗漏书里还配套了教学视频做回顾。
题目也按照力扣上的难度星级做了标注,方便筛选。
像面试无非就那么几个重点:树、动态规划、深度 / 广度优先搜索、链表、数组、排序、栈、队列、哈希、字符串等。理解其背后的算法和数据结构之后做题,像重点题目书里会重复出现,而且有不同的解题思路,目的就是要做到
一题多解
。再举一反三,练习更多相关的题目,当你能做到用同一个算法解决一类共性问题,做到
多题一解
时,才算是真正理解了。
2、利用题解
题解包括两个部分,
读思路
和
读代码
,既要理解作者做题的思路和逻辑,也要细致入微地学习代码中优秀的写法。
因此自己做完题目后,一定要再对照书里的题解学习。书里的题解有C++和Python两种语言,代码也是做了规范化处理,变量名称和算法策略都是统一的,在LeetCode平台上提交通过。不建议背代码,但完全可以直接拿着用。
另外,要
多写题解
,把自己的解题思路整理成文,或者讲给别人听。这样做不仅能够加深自己对题目的印象,进一步加深对算法的理解,帮助自己回顾解题过程,从而在面试的时候更容易复述。
3、精益求精