刷题应该这样刷。
最近,一位网友在GitHub上分享了他自己的一个算法模版,瞬间斩获1.2k星。
按照他的经历来说,四月份找工作开始,从0开始刷LeetCode,现在已经是字节跳动的员工了。
于是就通过各种刷题文章,专栏,视频等总结了一套自己的刷题模板。
最科学的刷题方式,最快速的刷题路径,到底是怎样的呢?
我们一起来看看吧~
那么,应该从何刷起呢?怎么刷?
作者提供了一个推荐路径。
首先呢,按照作者总结的练习题刷一遍(网站链接已附文末),如果中间有题目卡住了就先跳过。
为什么要先刷练习题呢?
作者说了,因为这些题目都是按照类型归类,且一开始还有详细的知识点解析。题目也是常见的高频题,很有代表性,大部分都是可以用模版加一点变形做出来的。
这样刷完了之后就会对大部分题目有个最基本的认识。
接着,就可以去刷LeetCode的探索卡片了。
这一步,主要是巩固一下基础知识点,然后做一个小总结。
剑指offer基本上是大部分公司的出题源头,刷题面试中基本会遇到现题或者变形题,刷完这三部分,大部分国内公司的面试题应该都没有问题了。
另外,作者还温馨提示:
刷题时间要合理分配。如果打算准备面试了,建议前面两部分,一个半月(6周)的时间刷完,最后剑指offer半个月刷完,边刷可以边投简历进行面试,遇到不会的,往模版上套就对了。
既然练习题那么重要,那么我们就来抢先来了解一下~
核心内容主要分为四个部分。
入门篇——数据结构篇——基础算法篇——算法思维篇️
(有没有注意到作者的良苦用心,一开始是,刷完你就是️。)
入门篇就分为go语言入门和算法快速入门。
点击go语言入门,它的界面是这样的。
分成了基本语法、常用库以及刷题注意点这三部分。
如果你对go语言还不是很了解,直接送上「go语言圣经」在线网页版供你参考。
常用库不必细说了,附带代码和解释说明,很完整。
另外还有刷题注意事项:
leetcode 中,全局变量不要当做返回值,否则刷题检查器会报错。
而在「算法快速入门」中,主要介绍了数据结构和算法、面试注意点以及两道练习题。
数据结构篇主要分成了二叉树、链表、栈和队列以及二进制。
每一个模块,都有知识点解析,总结以及练习题这几个部分。
接着的「基础算法篇」、「算法思维篇」也都是按照这样的路子来的,大家就安安心心的刷题吧!
作者还提到,文章大部分都是对题目的思路介绍和一些问题的解析,有了思路还是需要自己动手写一写,所以每篇文章都有对应的练习题。刷完这些练习题,基本上对数据结构和算法有自己的认识体会,大部分面试题都能写得出来。国内的BAT、TMD应该都不是问题。
除了这些,作者本人还分享了自己的心得体会。
从 4 月份找工作开始,从 0 开始刷 LeetCode,中间大概花了一个半月(6 周)左右时间刷完 240 题。
刚开始刷题时,确实是无从下手。
是因为从序号开始刷,刷到几道题就遇到 hard 的题型,会卡住很久,后面去评论区看别人怎么刷题,也去 Google 搜索最好的刷题方式。
后来发现按题型刷题会舒服很多,基本一个类型的题目,一天能做很多,慢慢刷题也不再枯燥,做起来也很有意思,最后也收到了不错的 offer。
好了,以上就是分享的刷题指南,希望能够对你有所帮助。
另外,如果你也有刷题、面试大厂的经历和经验,欢迎跟我们分享哦!
练习题网站:
https://greyireland.gitbook.io/algorithm-pattern/
GitHub主页:
https://github.com/greyireland/algorithm-pattern
ps,作者还分享了一些计算机经典书籍「我看过的100本书」,也分享给你
https://github.com/greyireland/awesome-programming-books-1