查看: 44766| 回复: 100
跳转到指定楼层
上一主题 下一主题
收起左侧

[其他] 个人刷题经验小结

   
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
码字不易,看官觉得不错就给加大米!

一直想总结一下这次找工作刷题的经验,新公司入职也有几个月了总算是有一些时间了,不能再拖延了。

因为自我定位属于天赋一般但是比较能坚持的人,所以我刷题的方法可能不是很适合高手来用,不过对于普通人来说只要坚持并且刷题时间足够多的话应该还是挺好用的。

从刷题的顺序说起吧,刷题的顺序每个人都不一样,为了避免引起圣战,我把所知道的顺序都说一下好了:
有人按难度,有人按题号,有人按反向题号,有人按类型,有人按公司,有人按频率,有人按接受率。各有各的道理,选择适合自己的顺序最重要。

我的方法是比较火的类型把每个类型都先刷5 Easy+20 Medium; 比如dp, greedy, two ptrs, binary search, graph-bfs, graph-dfs, stack, tree-bfs, tree-dfs。
Array和string这种我都没有单独刷因为我觉得什么算法都可能是array和string的题,math和bit我没按模块刷因为感觉遇到概率不怎么大。
这样每个类型刷了二三十题以后大概就有150-200题了,这部分是为了让自己重温刷题的感觉以及对每个模块有系统的学习,一个模块刷20-30的话也有趁热打铁的效果。

再往下刷我觉得easy就没有意义了,因为觉得medium题是遇到概率是最大的,所以我就按照没刷过的medium按接受率从高往低刷了,按接受率刷发现有意思的事就是大概30%-40%左右接受率的题是比较有意思并且比较有价值的,接受率特别高的题可能是特别简单的也可能是特别难的(因为很多人直接看答案以后才写了提交的),接受率特别低的题往往是corner case特别多的烦人题。

在结束刷medium题之前,我已经开始了复习,具体复习方案在下面讲。

大概medium刷了大部分题以后(我那时候大概刷了400-450medium,一共500medium的样子。现在medium更多了可能刷不完了),我就开始刷hard了,一天也就刷两三道hard,而且主要是针对公司来刷的,比如LK和FB的hard题库相对稳定。同时每天学习时间里大部分时间我都放在了复习上面。这段时间大概刷了不到100的hard。

大概在面试前一个月,我完全停止了刷新题,全力投入复习了。大概在面试前一周多,我简单看了一下要面试的公司的近期面经,面经很多难度很大的题我都是直接看看思路,没有时间具体写代码,同时我还着重复习了LC上面要去面试的公司的tag题。
重要的事:看答案做题最后也一定要自己写一遍,不能边看答案边抄然后提交,题不只在多,还在精。
非常重要的事,非常重要的事,非常重要的事:在整个刷题过程中都要“记笔记”,尤其针对思考很久才做的上来的题,或者看了答案才做上来的题。
根据个人经历,有如下好处:
1.帮助自己当天再巩固一遍新学到的思路。
2.为了下面要说的复习计划能顺利进行。
3.为了未来跳槽再刷题的时候方便捡起来。
4.为了方便在未来的某一天感叹原来自己比当年笨那么多。

笔记中题的顺序要根据自己刷题顺序来,下面的笔记只是个栗子🌰。笔记要包括题号+题名(可以帮助自己快速定位LC位置)+最后自己理解的正确解法。
起始这部分的chapter划分是为了方便和复习日程的excel相结合使用。具体每个chapter复习几道题可以根据题目难度作适当调整,个人建议5道题以上10道题以内,因为后期每天需要复习很多个chapter,即便不再刷新题也会觉得work load很重很重,我后期大概每天2-3小时的纯复习时间。
Chapter 1 : question15 – question145  -> 5 questions
Chapter 2 : question374 – question 94  -> 5 questions
Chapter 3 : xxxxxxxxxxxxxxxx -> 5 questions
Chapter 4 : xxxxxxxxxxxxxxxx -> 5 questions
…
…
Chapter xxx: xxxxxxxxxxxxxxx

以下是Note栗子,题号随便选的,大家记得按照自己刷题顺序记。
Chapter1:
[
Question 15 - 3 sum:
用2 ptrs,首先sort,然后判断head是否已经用过,最后比较start+end和target的关系来决定result以及左还是右ptr进行位移。nlogn因为sort。

Question 4 – name of the question: xxxxx
Q4的笔记

Question 255 – name of the question: xxxxx
Q255的笔记

Question 159 – name of the question: xxxxx
笔记

Question 145 – name of the question:xxxxx
笔记
]

Chapter2:
[
Question 374:

Question 91:

Question 34:

Question 18:

Question 94:
]


Chapter3:
[
Question 75:

Question xxx:
…
…
…
…


下面说一下我的复习方案吧,我觉得这个方案其实是比较适合时间多并且喜欢坚持的人用的,耗时非常长,坚持下来很难很难很难,推荐给过一些人,好像除了我自己也没谁一直坚持。
大概解释一下图里的意思:每一row是这一天要完成的任务,具体的数字对应了上面笔记中的chapter。
大概在最后的时候每天要复习6-7个chapter,大概就是30-50道题(取决于自己每个chapter放几道题)。而且这些题都是第一遍自己想了很久或者看了答案才会的,所以work load会很重很重,复习的时候我是只想思路,想一下大概几个模块几个for loop或者recursion怎么写或者dp什么思路,然后看一下自己提交的答案,确定自己的想法是正确的或者简单写一下(锻炼秒题的能力)。在复习的时候起始并不会每道题都认认真真重新写一遍,因为时间不够用,除非某道题复习时候感到完全陌生。

这个复习的方法起始我最早是在背单词时候用的,大概就是每天背几页,那时候还没有背单词的APP帮我复习,我语感比较差所以阅读和听力背单词的模式都不适合我,于是就用这种慢工出细活的方法背单词来着。
这次刷题觉得经常有些题并不能一次领悟需要复习,所以就换汤不换药制定了一个山寨方案,其实是和艾式记忆曲线有一点点关系的,复习之前复习过的题的间隔会越来越大,直到最后一次复习结束。

Excel附件在这: 复习日程.xlsx (10.48 KB, 下载次数: 252)


大概就是这样了,希望大家都能坚持刷题,拿到心仪的offer。


屏幕快照 2019-06-13 上午12.06.51.png (208.57 KB, 下载次数: 4)

复习计划图片

复习计划图片

评分

参与人数 177大米 +387 收起 理由
rue + 2 很有用的信息!
Dulala + 3 给你点个赞!
cloudadvance + 2 很有用的信息!
打嗝儿 + 1 很有用的信息!
aprildeng07 + 2 给你点个赞!

查看全部评分


上一篇:求问大家都是怎么找leetcode答案的
下一篇:用go刷题的lib求推荐

本帖被以下淘专辑推荐:

推荐
yeetatbig4 2019-6-14 06:18:52 | 只看该作者
全局:
很干很具体!谢谢LZ。
其实大多数人都是普通人,必须靠大量的练习才能磨出牛逼的思路,而且几乎是唯一的办法。只是大家都不太愿意承认自己是普通人,或者承认了自己是普通人也坚持不下去。LZ把“怎么坚持”这一步写得这么清楚真的是很赞了。坚持的人生都是幸福的!

补充内容 (2019-6-19 22:23):
我不明白是因为大家被灌鸡汤灌太多了还是怎么回事,刷题这件事必须沉下心来做啊。大多数在职的人刷了整整一年才算是能独挡一面了,全职再怎么说也要几个月。毕竟你得刷出清晰思路才有用,光有个400题的数字根本没用
回复

使用道具 举报

推荐
 楼主| dagangdou 2020-5-9 14:03:23 | 只看该作者
全局:
大熊小熊 发表于 2020-5-9 13:19
想问个问题,一开始你说按照类型划分,之后又说划分为chapter,请问这个chapter是怎么划分呢?是说就每天刷 ...

按照题型分是为了找到一个高效的刷题顺序。然后chapter是根据刷题时候笔记中需要复习的题的顺序,按照每天想复习的题量切割的,单纯为了复习用。

评分

参与人数 2大米 +3 收起 理由
打嗝儿 + 1 给你点个赞!
大熊小熊 + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
膜一波lz大神
回复

使用道具 举报

🔗
bbiwang 2019-6-14 00:09:01 | 只看该作者
全局:
so niubi. I learned.
回复

使用道具 举报

🔗
glorian0127 2019-6-14 00:11:23 | 只看该作者
全局:
赞楼主的毅力
回复

使用道具 举报

🔗
mick1997 2019-6-14 01:06:36 | 只看该作者
全局:
感谢LZ分享,学到了
回复

使用道具 举报

全局:
Mark一下
回复

使用道具 举报

🔗
hlbt 2019-6-14 05:52:59 | 只看该作者
全局:
最近刚开始学习怎么刷题,lz的经验分享很受用,感谢!
回复

使用道具 举报

🔗
Kiri 2019-6-14 06:08:01 | 只看该作者
本楼:
全局:
666老哥
回复

使用道具 举报

🔗
 楼主| dagangdou 2019-6-14 06:20:11 | 只看该作者
全局:
Kiri 发表于 2019-6-14 06:08
666老哥

被老妹儿发现了!
回复

使用道具 举报

🔗
HerbertWang 2019-6-14 06:31:22 | 只看该作者
全局:
题主好认真, 膜大神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表