📣 Back to School开学季 - VIP通行证5折优惠!蓝莓、Offer多多同步优惠
查看: 7720| 回复: 15
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 刷题时要熟练到什么程度?

全局:

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

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

x
感觉自己刷题挺容易忘的,就算记得思路,各种小错误还会犯。
所以我就反复的刷高频题,想请教朋友们,是不是要反复刷到这道题自己能轻松的做对才行?说明自己才真正掌握了?这样面试才能应付得了?感谢!

评分

参与人数 4大米 +5 收起 理由
ll123 + 1 给你点个赞!
cyclexuxu + 2 给你点个赞!
Ccqw12 + 1 赞一个
14417335 + 1

查看全部评分


上一篇:求教一道dp
下一篇:Leetcode笔记 #134. Gas Station
推荐
PandasPan 2020-8-21 23:10:28 | 只看该作者
全局:
本帖最后由 PandasPan 于 2020-8-21 23:15 编辑

总的来说,如果看到一个题,你大概能判断出是easy,medium 还是hard,这个题感就有了。

细说的话,

Easy的话看到题就知道自己会写而且没什么bug,而且一题多解没压力

Medium的话大部分题看到就知道自己会写,可能写完框架后会有一些bug,以及自己没想到的test cases。有一些题需要知识储备,超过知识盲区,困难也很大,但是这个知识储备理论上进大厂是必须要会的。  举个范围广的例子,位运算一些相关题目。举个细点儿的例子,不用+-*/%,判断一个数能否被另一个数整除。  

hard就看运气了,有的有思路,有的能自己变化成一些medium的变种升级,但是大体用什么知识点用什么常用方法是要自己心里清楚。 但是有的就真可能真涉及一些自己的知识盲区了,这时候放宽心态,抽丝剥茧,暴力走下去,暴力总比不动不会强,万一暴力过程中有思路了呢。
自己做的时候,看题解看答案的时候,很多hard题的思路细看其实好多就是easy medium的基础上加积木,只不过需要自己的一些抽丝剥茧。 有一些题可能就真的需要很强的数学知识,甚至要看paper那种就不用管了,刷题也要讲个性价比不是。


总的来说,有心思有精力可以刷刷hard,对自己思路对自己知识储备帮助非常大,但是其实性价比还是medium高。 取决于时间,精力,目前压力,等等。


补充内容 (2020-8-22 02:26):
同志们,缺米看面经哇,点赞没米好难受~求米

评分

参与人数 10大米 +14 收起 理由
ycwinsg + 1 给你点个赞!
okaytobenot + 1 赞一个
土豆君你好 + 1 赞一个
Aria灬 + 1 赞一个
114514 + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
sdszilong 2020-8-22 02:47:08 | 只看该作者
全局:
额,个人感觉啊,首先要明确的是,熟练度远比题量重要得多得多得多得多。

先问自己几个问题:1. 数据结构真的搞懂了吗?比如说堆,链表,等等等等;2.算法搞懂了吗,二分就不用说了,那些复杂一些的DFS之类的;BFS, 扫描线,并查集,窗口指针,对撞指针等等等等,时间复杂度,空间复杂度,

再同意楼上的观点,如果一道题目拿到手了,你能判断出大概是什么样子的level,这就成功了一部分了。
我的经验是,一道题目拿到手了,我先根据感觉去想想怎么做,这个确实是大量做题和归纳总结锻炼出来的,如果想不出来,那就把自己会的那些鬼东西都往里面套一下,看看是否有用,再不会,那也没办法了。
比如说,给你个题,如果不是很明显的label让你知道用什么算法,那你可以考虑下,会不会是用stack,或者是queue和BFS结合,难道是递归,难道是指针,等等,如果还不会,那就跪吧,去看答案去。做到这一步,没人会怪你的,大家都是普罗众生,很正常。

我做题的时候也觉得很恶心,刷过的题,过几天就忘了,模模糊糊记得怎么做,可是呢,就是那些细节会把自己打败。举个例子啊,LC里面那道序列化和反序列化二叉树的题,我用BFS, DFS都做了,不下十遍,之前每次做都感觉差一点,很难一次AC。后来发现原因主要有两个,第一,并不是真正懂得了里面的技巧,因为你看会答案,和你想到答案理解答案,根本是两个概念;看答案的时候觉得,哇靠,无比正确,无比牛逼,所以你抄答案的时候,或者说你趁着刚看完还热乎的时候去写,会觉得很正常,可是呢,这真的还不是你脑子里的东西,所以,你下次写的时候其实又不会了;你在做的时候就应该多想想为什么这样写,多想想一些细节,看看自己是否能够复述出来,如果自己是面试官,自己能否接受自己的解释;再比如说双指针里面的那个蓄水问题,你真能解释得了为什么哪边小移动哪边指针吗,链表有环,找环的入口问题,你会证明吗?为啥快慢指针就是一个走一步,另一个走两步呢,如果另一个走三步,四步,答案会是什么呢?第二个,没办法,就是不熟练,很多东西是奇思妙想,时间长了就忘了;这个我的方法就是归类,然后跟类似以前背GRE一样的经验,一定时间内多次反复强化记忆,归类也是一个很好的方法。

比如说,楼主做过二分吧,知道九章的二分模板吧,哪些题目是rotated的呢,边界到底是怎样的呢;值的二分有哪些呢,wood cuts, paper copy, 大猩猩吃香蕉,轮船集装箱,小男孩吃巧克力等等,这些的区别联系又是哪些呢,这都是一类问题;还有一些要多总结的,链表里面,快慢指针找中点的技巧,对于不同的题目中,到底该怎么处理呢;记忆化搜索和DP基本上都可以互换,如果这道题目不用DP,只用记忆化搜索,你会写吗?由下至上,由上至下,你能搞定吗?这些总结整理的工作,比刷题本身更难,这也是你会在刷题这件事情中脱颖而出的原因。否则,你以为人家公司傻逼啊,给个几百K的package,给一个只会背答案的人。

把题目总结出来,放在excel表格里面,打印出来,零散时间就可以看看。可能只有200道题目,只要题目的title和难易程度,就OK了,看着题目,脑子里最少要想出来,这是个啥,这是咋做的,用的啥知识点,旁边再放点自己的note,需要注意点啥。跟背单词一样,时不时拿出来过一遍,慢慢地对自己要求是一次AC,或者只允许小的BUG存在,前几遍会很痛苦,嗯,还是跟背单词一样。第一遍可能就要一个月,第二遍可能要三周,第三遍可能是两周,后面是一周。我整理了320题,大概3天可以过一遍,不是每道题都要写出来,但是挑出来自己不太熟练的,每天写个四五道最少吧,最少要做到,不用看答案,也能做出来,也许会有一点bug或者是磕磕碰碰的,但是,应该能自己debug完成。

最后一句话就是,DP真恶心,这个是我每次onsite之前都会再一次全文背诵的表格,哈哈。

不要只停留在把题做出来,AC了就满足的阶段,放弃刷题题量之后,应该争取的是对这些题目的深刻理解和熟练。

评分

参与人数 7大米 +8 收起 理由
quincyl + 1 给你点个赞!
ycwinsg + 1 给你点个赞!
wkvictor + 1 给你点个赞!
okaytobenot + 1 赞一个
萝岗汽修老Z + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
457368837 2020-8-22 05:06:29 | 只看该作者
全局:
本帖最后由 457368837 于 2020-8-22 05:08 编辑

这个要看你的目标公司是什么

A.如果是想要不惧怕任何公司的面试,包括狗和hot startup
需要能流畅解任何medium题,不能一题出现几个bug;能经过慢慢思考推敲出一半以上hard题(即使有些TLE不是最优解)

B.如果是想进到一个大厂,flagma任意一家或同级别公司
需要能流畅解大部分medium题,不能一题出现几个bug;不属于常规算法思路的medium题,可以不会做 (这个程度,做题层面,总能进至少一家大厂)

C.如果是想进CS行业,找到工作,无论大小厂
只需要easy能解,code干净;能顺利求解一半类型的medium题,允许出现一些bug


P.S. 来自一个3个月冲到leetcode 2100+的同学的小小总结,求加米

评分

参与人数 5大米 +8 收起 理由
亲爱的嘉祺 + 1 很有用的信息!
mchzh + 3 三个 月不停的刷题?
okaytobenot + 1 很有用的信息!
hlbt + 1 赞一个!
andrewpsy + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
DoraC 2020-8-21 15:35:34 来自APP | 只看该作者
全局:
跟楼主有同样的疑惑
蹲一个好心人的回复

评分

参与人数 1大米 +1 收起 理由
jfu_u + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
我当时是medium和easy基本上一次过 hard如果能想起里算法基本上一次到两次过 想不起里就认命了
回复

使用道具 举报

🔗
zzgzzm 2020-8-21 23:23:00 来自APP | 只看该作者
全局:
我对难度的形象式分类:
Easy: 看到就有思路,并且不用coding 就知道肯定work.
Medium: 看到会有大概思路,coding 过程中细节会有些调整。
Hard: 看到了未必有思路,可能得从数学或其它理论层面想一想(但coding 未必复杂)

等你做到看到题会经常觉得“啊,这种套路以前见过”的时候就出师了。

评分

参与人数 1大米 +1 收起 理由
okaytobenot + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
zzgzzm 发表于 2020-08-21 08:23:00
我对难度的形象式分类:
Easy: 看到就有思路,并且不用coding 就知道肯定work.
Medium: 看到会有大概思路,coding 过程中细节会有些调整。
细节调整太容易忘,怎么破?尤其是一些没什么模板的题?,比如 buy and sell stock o(n)那种,过一段时间就忘了
回复

使用道具 举报

🔗
kamia 2020-8-22 00:32:20 来自APP | 只看该作者
全局:
672347250 发表于 2020-08-21 08:45:07
细节调整太容易忘,怎么破?尤其是一些没什么模板的题?,比如 buy and sell stock o(n)那种,过一段时间就忘了
那就是还不够熟练咯,继续背

评分

参与人数 2大米 +3 收起 理由
okaytobenot + 1 赞一个
cyclexuxu + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

🔗
红A 2020-8-22 01:45:17 | 只看该作者
全局:
672347250 发表于 2020-8-21 23:45
细节调整太容易忘,怎么破?尤其是一些没什么模板的题?,比如 buy and sell stock o(n)那种,过一段时间就 ...

股票模板是状态机state machine
回复

使用道具 举报

🔗
NQYY 2020-8-22 02:21:54 | 只看该作者
全局:
刷题主要是思路 容易错的地方特意记一下

评分

参与人数 1大米 +1 收起 理由
okaytobenot + 1 赞一个

查看全部评分

回复

使用道具 举报

🔗
cyclexuxu 2020-8-22 02:33:42 | 只看该作者
全局:
kamia 发表于 2020-8-22 00:32
那就是还不够熟练咯,继续背

背的效果好吗?现在感觉medium的,大致知道怎么做,然后写起来,发现有一些细节就会搞错。。。
回复

使用道具 举报

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

本版积分规则

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