迫于找工作,在刷 leetcode,每天晚上能刷 1 到 medium 的题吧;
但是发现一个问题:稍微麻烦点的就需要半小时以上,接近一个小时,才能写出一个可能还不是很完美的答案。完成后会看一下别人的讨论。 这样一晚上的时间可能就没了……
所以刷 leetcode 的正确姿势是什么? 有没有什么套路
1
wangyzj 2019-12-25 00:27:20 +08:00
半小时一个 medium
大佬,受我一拜 |
4
octobersnow 2019-12-25 00:50:12 +08:00 via iPhone
我觉得,十分钟没思路就看别人的,有思路顺着自己四路写?
|
5
lihongming 2019-12-25 00:52:23 +08:00 via iPhone 2
我的方式是——每天解一道题,实在想不出来的就先跳过去,时间太晚了就先到后面找一道 easy 的。总之无论如何,每天确保一道,有个任务,给自己点压力,才能不放弃。
解法可以不是最优,哪怕 brute force 也得解出来(通常无法直接通过,肯定超时了,但加点缓存,或者跳过明显不可能的情况,优化一下可过)。这样做的目的是,通过以后就可以看别人的答案了。 看看最优解的思路是什么,理解下来,先不急着模仿,第二天再试着实现。如果还能写出来,这个算法基本上就算学会了,以后遇到类似的题就都会解了。 如此坚持 100 天,你就会发现,大部分题就是围绕那么十几种思路排列组合,初期那种无从下手的感觉就没那么强烈了(当然还是有少部分题非常新颖,需要学习)。这个阶段就是提高阶段了,虽然是十几种常见思路的排列组合,但哪种组合最优,仍需要经验的积累。 |
6
GenialX2 2019-12-25 00:55:13 +08:00
关于 LeetCode 如何刷,我之前写了一篇文章,愿与君共勉: https://qoogle.top/how-to-brush-leetcode/
|
7
WhoMercy 2019-12-25 01:08:19 +08:00 via Android
|
8
codewarrior 2019-12-25 03:58:03 +08:00 via Android
多刷几遍。不要羞于看答案,十分钟想不出来就去看答案。看完思路自己写,写完了再和别人的高分答案对比。第一遍确实很难基本上都要看答案,感觉智商被碾压。做 200 道之后就会慢慢归纳,比如 dfs/bfs 的标准写法,面试遇到这种类似的题比如 count of island 直接动手五分钟写完。
|
9
RtIHZ 2019-12-25 04:29:24 +08:00
直接看答案,独立思考没一点用
|
10
tianshilei1992 2019-12-25 05:16:09 +08:00 via iPhone
不会的看答案,然后做完了总结一下,比如写个博文啥的。
|
12
shiji 2019-12-25 06:20:53 +08:00
刷到竞赛每次基本都能做完四道题,就可以去大厂面试了。
|
13
fanqianger 2019-12-25 06:33:13 +08:00
可以参考我的视频,希望对你有帮助
&lc=z23aujfjltb0cvs3zacdp432fqfe1bijk0v2p1ikutdw03c010c |
14
mcrwayfun 2019-12-25 07:31:37 +08:00 via iPhone
梳理问题,独立思考 10 分钟。10 分钟后得不到正确答案就看解答,按照正确的把流程写完。最好是一类题来刷,形成解题思路
|
15
kevindu 2019-12-25 07:49:30 +08:00
leetcode 解题思路就那么多,都是套路,慢慢总结吧
|
16
charlie21 2019-12-25 07:52:33 +08:00 via Android
理解了 xx 之后,yy 就好做了。去理解 xx 先,那么。xx 是存在的
|
17
yukiloh 2019-12-25 08:01:33 +08:00 via Android 1
最可怕的是看了最优解都不知道他在说啥
|
18
tt67wq 2019-12-25 08:33:29 +08:00
楼主可以去刷 euler project
一个月一题 |
19
likefly 2019-12-25 08:37:23 +08:00
我都是一天一道题,花半天自己想和优化,再花半天去理解更好的解题方式并自己融会贯通
|
20
realkenshinji 2019-12-25 08:52:32 +08:00 via iPhone
正常的,一开始会特别慢,刷一阵子就好了,刷题累了可以看看 b 站花花酱的视频,总结了一些模版套路啥的
|
21
magic3584 2019-12-25 10:10:57 +08:00
楼上的是都开了会员吗看答案?
|
22
btv2bt OP @wangyzj 这种情况还是有的……一般 hard 的会先掠过
@lihongming 嗯,我也是每天一道,easy 的或者 medium 的;第二天重新写的这个学到了 @GenialX2 好的,学习一下 @codewarrior 10 分钟吗😂 @RtIHZ 怎么说呢?意思是大部分都是套路,或者需要证明的一些数学思路? @shiji 这个还有点距离… @fanqianger mark,后面看 @yukiloh 有些感觉是数学证明…… @tt67wq 一个月一题?我搜一下 @likefly 我也是 1 天 1 个…就是觉得一个多小时写出来一个看上去很丑的可能还超时有点蛋疼 @realkenshinji 我去瞅瞅 |
24
fank99 2019-12-25 10:52:53 +08:00
如果之前没太多经验的话,我觉得先过一遍剑指 offer 比较好
剑指 offer 里的题基本包含了大部分类型,而且难度也不低 把剑指 offer 里的吃透,再去刷题,就会有原题模型的概念 会发现很多题都是一个路子,一种模式,只是有不同的变换 这样来做会好一些 |
25
Mrun 2019-12-25 11:05:00 +08:00
只能死命的刷了,不要羞于去看答案
|
27
ihavecat 2019-12-25 11:17:23 +08:00
刚开始我也是这样,后来答案看多了,发现大致就那几种思路,多活学活用就号了
|
29
hehheh 2019-12-25 11:25:34 +08:00
前 200 道不懂看答案,到后边的话看不懂的题就少了,因为基本套路就那些。
|
30
quadrapop 2019-12-25 11:30:46 +08:00
刷想写看学
|
31
zke1e 2019-12-25 13:54:54 +08:00
很多 medium 都有一套前置的 easy,可以先刷 easy 再刷 medium。按照一个类型的刷,每个类型刷个几十道就熟悉了,基本上遇到新的几分钟就能写出来。
|
32
RedisMasterNode 2019-12-25 14:19:30 +08:00
刷 Top 100 Like
最开始:20 分钟一道 Easy (可能写不出来 /很差的解法),Medium 基本做不了,Hard 基本直接跳过 这个阶段一般全靠看答案和看 Discussion。很多解法思路都很新颖(对于我来说),然后务必要理解,对自己要要求没有提示的情况下能把思路默写对 中期:20 分钟一道 Medium,也有不会做的,因为 LC 一般思路不对的话只会越写越混,写到最后越来越长(因为思路不对就会有很多异常的 Case 要手动处理),一般超过 20 分钟直接去看答案了,还是一样的要求要理解 现在:刷过 100 道了,现在 Medium 没见过的一般 20 分钟能够写出正确解,优解看脸,平均保持 Python 用时能过 70%。少量情况第一次就能直接过 90%。Hard 的题一般比较难想对,做出来就可以,不用要求太高,但是做不做得出来都要去核对优解的方案,实践一次 |
33
RedisMasterNode 2019-12-25 14:21:54 +08:00 1
然后补充一下求职前的一段时间每天保持 5 道题左右的时间应该差不多,需要积累一些刷题的熟练度,包括一些定式,比如 DP、DFS 这种都是固定的格式,要可以快速流畅地敲出来,然后补充核心部分。5 道题可以是 3 道新的,2 道昨天做不出来的复习一下这样搭配。
如果是还没毕业的应该每天会有更多时间,抽 2 小时出来 5 道题绰绰有余 |
34
jingcoco 2019-12-25 14:49:07 +08:00
大神们如何评论 codewars 的呢?
|
35
sethverlo 2019-12-25 14:50:19 +08:00
一晚上一道 medium 还嫌慢,退群了……
|
36
cribug8080 2019-12-25 14:53:29 +08:00
刷着刷着就快了
|
37
fishofcat 2019-12-25 16:21:53 +08:00
|
38
nanoha 2019-12-25 16:30:18 +08:00
看你目的了 有段时间我无聊就是当作 polybridge 这样的游戏在玩 哪怕一天一个题也挺有意思 纯粹享受思考的乐趣
|
40
tonytonychopper 2019-12-26 09:10:43 +08:00 via Android
我刷了两百多道题,现在动归和递归基本能写出来
|
41
geemaple 2020-07-08 21:17:06 +08:00
不停刷就是正确姿势把,多交流,自己 python 和 cpp 的
https://github.com/geemaple/algorithm |