当前位置:首页 > > 架构师社区
[导读]来自:小浩算法 三年高考,五年刷题。leetcode不算从其他各处收录的题目,单就自己的题库,总共有1600+,如果按照每天刷一道的话,总共需要5年。那我们真的需要把这些题目全部刷完吗?如果不是,刷多少合适?又该怎么刷呢?本文我尽量言简意赅,直击大家的疑

漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

来自:小浩算法

漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

三年高考,五年刷题。leetcode不算从其他各处收录的题目,单就自己的题库,总共有1600+,如果按照每天刷一道的话,总共需要5年。那我们真的需要把这些题目全部刷完吗?如果不是,刷多少合适?又该怎么刷呢?本文我尽量言简意赅,直击大家的疑惑。(本文适合算法初学者)



01
PART
刷多少题
漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

不下百人问过我这个问题。我的建议是,对于大部分的人,200道是一个合适的数字。

估计到这里,有人会喷我。你不设前提,不谈目的,直接就说200道,这不是扯淡吗。我想说的是,这不是扯淡。


前面我已经说了,对于大部分人,我的建议是200道。大部分人指的是什么呢?我这里统指没有系统刷题经验的同学。无论是工作3-5年的职场老司机,还是即将毕业的应届生,只要没怎么刷过题,通通归为此类。


对于上面这个群体(请先自行判断是否可以归为此类),刷题的目的基本是为了面试。不管我多么巧舌如簧,告诉你算法可以提高思维,增强逻辑,是成为top coder的必然条件,等等等等。但最终都还是会回归到这个目的:面试


漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)


所以现在我们换掉问题:没什么刷题经验的同学为了面试需要刷多少道题?我的答案是:200道。



02
PART
为什么是200
漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

这个问题,不妨换做 ”刷完200道题可以掌握到什么程度?“

常见tag无外乎那么七八种,200道题听起来很多,但是分散到每一个tag,每种也就只包含二三十个。倘若我们算多点,每一个tag包含30道题,其中大概是15-20道easy,5-10道medium,2-3道hard。200道不多不少,基本可以完美覆盖整个算法体系,所以我认为200道是一个不错的数字。


漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)


那么回到问题 “刷完200道题可以掌握到什么程度?” 我当然可以给你一些信心,告诉你200道题可以让你吊打面试官,完虐BAT。但是呢,其实这都是骗小孩子的,或者就是骗 ¥。那真实的200道题能让你到达一个什么程度呢?


  • 在算法方面超过大概80%的同行(这里单指基础算法,非ML、AI等)

  • 在面试时不至于对方拿出一道题目整个人就陷入懵逼,而是有资格享受面试思考题目的过程

  • 身边有朋友聊到算法敢过去和他们交流,而不是默默的走开

  • 对于应届生,谋取一份拿到offer的可能性

  • 对于老司机,去大厂镀金的必备条件

  • 对于培训生,极大的缩小和科班学生的差距



03
PART
200道刷多久
漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

“我之前立了个flag,一天刷一道都没坚持下来。你特么让我刷两百道,我一年都搞不定。这不扯淡吗?”

如果你有上面的疑惑,那么:你错了。坚持不下来一天一道的人和刷完200道题,毛关系都没有。回到我上面的例子,200道题目里。大概easy在130-150道左右,medium在30-50道,hard只占据了不到20道题。


漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

(you, wrong)


跑步和刷题不同。跑步是越来越慢,刷题却是越来越快的。对于初学者(正常人),在每一个tag刷了10道左右简单题之后,基本同类型的题目可以提高到每天2-3道easy题目,有的掌握好的,甚至能提高到每天刷5-10题。很多同类型题目,基本都是一个模子刻出来的。


所以我认为,200道题刷的特别慢的话大概在150天左右完成,中不溜的在100天左右,刷的快的话在60天左右。同时,如果我们再把这里边的 medium 和 hard 通通remove 掉。再不济,也应该在3个月左右掌握大概100-150道简单题目。剩下的,just do it。



04
PART
刷完就忘
漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

你忘我也忘,大家都旺旺。

忘就对了。如果你在刷题的时候发现怎么也写不出来,别担心,这是正常的。如果你还发现,之前明明刷过的题,过段时间再做的时候,自己还是不会。别担心,这特么还是正常的。


漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)


作为一个正常人,大脑就会忘记,如果不忘,可能说明你大脑出了问题。这个不是我说的,是医生说的:


漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)


所以如果有些题你刷了好多遍都还是不会,那就需要进行总结。思考到底是哪一环节卡住了你,反复进行练习。当然,这里有人建议是每道题都刷个3遍,其实我觉得倒是没有这个必要。我建议是找个小本本,记一下每一道的核心要素与考察要点。在刷题的这段时间里,没啥事就瞅瞅翻翻。



05
PART
没基础怎么办
漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

我没学过算法和数据结构,能不能刷题?



能。刷题本身就是一个学习的过程。比如二叉树的题,刷个30道,你一定会遇到BST。所以我个人认为学习系统的算法知识(也就是你们问我的,要不要买一本书,先看一遍再进行刷题)和 刷题 本身并不矛盾。你可以双管齐下,也可以单点突破,都ok。主要是,干就对了。


漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)


到这里就会出现另一个问题,“我是从头刷,还是分类刷?” 我的建议是,如果稍微有点算法基础,你就从头刷leetcode前200道题。如果完全没有算法基础,可以考虑分tag来刷。并不是说按照tag的方式更好,而是在没有算法基础的前提下分tag来刷,除了掌握题型之外,对于知识的掌握很有益处。(想一想初高中是如何学习的)那为什么又说从头刷也是可以的?这个是因为,如果一直刷某一种类型的题,容易出现刷完一类忘掉前一类的问题,也容易对某一类题目疲惫。总之,使用哪种方式取决于你。关键是:干就对了!


另外,我认为leetcode前200题是相当经典的。可能大家不知道,早期leetcode总共也就一百来道题。这些题目基本都是精华,后面的很多题目都是在这些题目的基础上进行演化而成。比如 合并两个有序链表,后来就演化成 合并K个有序链表。并且前200道题基本覆盖了所有的算法类型,我是很建议大家刷一遍的。



06
PART
其他
漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

初学者拿到题目没有思路怎么办?为什么看完题解自己还是写不出来?别人的代码为什么可以那么简单?为了面试要不要尽可能多的掌握最优解?等等等等,这些我打算出在下一次的算法指导篇中。


特别推荐一个分享架构+算法的优质内容,还没关注的小伙伴,可以长按关注一下:

漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

长按订阅更多精彩▼

漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)

如有收获,点个在看,诚挚感谢

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭