欢迎光临散文网 会员登陆 & 注册

刚刚,又完成了代码随想录二刷!

2022-02-10 14:33 作者:代码随想录  | 我要投稿

有不少录友问我,没有算法基础,代码随想录一刷需要多久,二刷需要多久之类的问题。

正好 这位录友前天刚刚做了二刷总结,把自己从零基础到二刷代码随想录的心路历程都详细的写了下来,分享在星球里。

相信这篇总结对录友们刷题会有很大的参考意义,特别是算法基础薄弱的录友

以下分享给大家:

--------------------

我是10月底开始一刷随想录的,也是那时候刚接触力扣,当时甚至连哈希表是什么都不知道。

保持着每天三到四个题的速度,赶在12月31号结束了一刷

一刷的目的一方面是为了熟悉各种数据结构和算法,另一方面是为了培养良好的代码书写规范。(习惯了看卡哥的代码和注释,偶尔去CSDN看帖子里贴的代码,我真是头大)

一刷的时候,每天大概会花两三个小时刷题和看题解,有点囫囵吞枣的感觉,卡哥一般会给一个体现思路的比较详细的代码,然后会给一个精简版的代码,精简版我是从来不看的。

二刷是从1月1号开始的,每天六个题左右,正好花了我一个月,但相较于一刷,二刷的时候平均下来,每个题我花的时间更多了,主要是自己思考比较费时间,实在想不出来才会看题解

当然了,二刷的时候还是很愉快,很有成就感的,因为能明显感觉到自己的进步。

二刷主要遇到了三种题:

  • 一种是自己能AC的,写完之后会对照卡哥的题解,看看自己的不足;

  • 一种是比较难,但是有一定印象的题,印象是指我还记得一刷的时候怎么去处理问题的难点,然后自己写代码实现,例如“替换空格”里resize和反向遍历就是破题的难点;

  • 最后一种就是二刷的时候仍然没有思路的题,这种题主要是贪心算法和一部分需要数学推导的题,例如“环形链表”,我记得这个题需要双指针,但就是不知道如何设置双指针。

这些题我都单独列了一个题单,打算多看看。

印象深刻的是动态规划部分,一刷的时候对于卡哥写的五个解题步骤体会并不深刻,dp数组上来就全部初始化为0,二刷的时候才真真体会到,为什么要先确定状态转移方程,再来初始化

还有背包问题,一刷的时候根本就想不到如何将实际问题抽象成背包问题,二刷的时候则对象征背包重量和物品价值的量有了一定的敏感性。

我也总结出了一些刷题的心得,但是还比较模糊,比较偏向于直觉吧。

例如看到升序数组会想到二分,看到出现或者查找会想到哈希等等。

现在拿到一个题,我会先看函数返回的数据类型,然后再去考虑用什么样的数据结构,如何维护数据,如何去遍历数据等等。

当然,也体会到了自己的不足。

随想录的题都是每个部分划分好的,动规的题自然会想动规的解法,但每日一题和剑指不是,我时常在解每日一题时,上来就暴力回溯超时,然后才会考虑别的解法。

主要还是因为之前刷题时,没有自己去考虑时间和空间复杂度,之后刷题时,我会有意识的计算这些。

还有一个不足就是对于代码的调试,今天刷剑指才发现力扣上的剑指只有一个测试用例,一但没有AC,调试起来就比较难受,之后也会有意识地培养这方面的能力。

Anyway,趁热打铁二刷了随想录,收获还是蛮大的,三刷可能就要等到秋招面试的前一个月了,下一阶段的计划是半个月内刷完剑指,以及完善上文提到的不足之处。

---------------------------

这位录友是 21年10月份的时候,加入的知识星球,这是他当时的自我介绍

之后,他在星球里的打卡就没有断过了。

其打卡一直持续到昨天,也就是2022年2月4号

所以有计划,有执行,有总结,做什么事情都不会差。

代码随想录刷题网站上线咯!

网址:programmercarl.com,200道力扣题目刷题顺序,详细题解,支持C++、Java、Python、Go、JS等多语言版本,一个你只要发现,就会收藏的硬核算法学习网站。

《代码随想录》正式出版!

觉得不错的话,还请小伙伴 点赞 支持下,希望能帮助到更多同学 ❤️

刚刚,又完成了代码随想录二刷!的评论 (共 条)

分享到微博请遵守国家法律