一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 5175|回复: 12
收起左侧

[Leetcode] 新手求问Leetcode 如何刷题

[复制链接] |试试Instant~ |关注本帖
木头人 发表于 2015-2-10 11:16:42 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本人新手** 而且写代码长期喜欢网上搜来复制粘贴 修修改改就用 现在看到lc这样 一点提示都没有的真是疯了啊 有没有小伙伴和我一样情况的哦 怎么提高自己技术啊 而且lc好多题自己怎么想都想不出答案又要怎么办哦  小伙伴一般都是想多久题目的哦(第一遍) 感觉脑子不好 好累
winstonyu 发表于 2015-3-4 10:43:13 | 显示全部楼层
按照我自己的经历来说,leetcode刷题大概的套路的从易到难,然后各个专题击破。

有一定编程基础的话,easy的题目应该还是能很快想出来的。先做easy题目的好处就是即使长时间不做算法,也能迅速熟悉基本的算法。

做完easy的题目以后开始medium,个人感觉里面有一些题目还是比较难的,尤其是像DP这种。有时候我想一个晚上才能想出来一道题目,但是一定要自己去想这些题目,而不要看答案。每天保持刷个四五题的状态,后面就会越刷越快。

hard的一些题目确实很难,有的需要想一天都想不出来。我做hard的时候,有时候真想不出来了,确实会看一看答案。不过看答案也是因为我快要面试了,就想把所有题目过一遍。如果有时间的话还是应该自己想。

题目做多了,很多套路也就出来了。现在leetcode加入了运行效率的直方图,在里面就可以看到大家的solution大概的效率是什么样的,一般如果自己的效率比别人差太多,那就意味着代码有很多可以优化的地方。这个时候建议重复做同一道题目,确实能够优化不少思路和代码。

各个击破就是按照tag来集中训练。我找实习的时候听说DP考得比较多,有一段时间就集中做DP,做多了也就找到DP题目的手感了。

还有一个代码风格的问题,建议写完代码以后,如果运行效率上没有地方可以优化了,上网找找一些大牛写的代码。即使写一样的东西,也有优美与否之分。代码这东西,提笔开始写的时候,有经验的面试官还是能看出来功力深浅的。

楼主加油!

评分

3

查看全部评分

回复 支持 1 反对 0

使用道具 举报

mnmunknown 发表于 2015-2-10 23:00:59 | 显示全部楼层
建议分类集中刷, 从难到易,leetcode上有tag会按照不同的数据结构和解题方法来分类,这样对同一类问题理解的会更深一些,也容易比较细节处理上的不同。

有些题一开始就是做不出来的,很正常。可能是因为用到的数据结构不了解,可能是这类问题的解题思路理解不够,还有一些题就是脑筋急转弯一样,想到了就是想到了,想不到就是没办法。遇到这几种情况可以设一个时间(比如30分钟),独立思考30分钟依然没有头绪的情况下就去找找别人的解答和分析,看看问题到底出在哪。补上了缺少的知识技巧之后就比较好理解答案的思路了,然后再按照思路独立写出来。
回复 支持 1 反对 0

使用道具 举报

milerhh 发表于 2015-2-10 12:06:15 | 显示全部楼层
亲爱的木头姐姐~
:: 坚决不能ctrl c+ctrl v, 看答案只能看思路,其余的implement一定要自己写,不会的函数查doc
:: 可以按类型的做,例如给自己一周完成所有tree 相关题目(easy-->hard), 然后linkedlist, math等(感觉这三类相对来说简单些),这样之前的题目会给后面的题目一些提示
:: 网上有各位大神的总结帖/blog,一搜就搜到了...一开始真的是只看算法!比较不同算法的优劣,如果有时间争取把所有算法都写一下。第二遍第三遍的时候可以看看大神们是怎样用简洁的语言implement的。
~~
我也只是**一枚……一点感谢随便写写,加油加油~
回复 支持 反对

使用道具 举报

Freetymekiyan 发表于 2015-2-10 13:02:38 | 显示全部楼层
本帖最后由 Freetymekiyan 于 2015-2-10 00:04 编辑

一定要自己看懂之后写,不能直接复制粘贴,这是基本
Coding就是要牢牢控制自己写出代码的每一个小角落,稍大的项目如果复制粘贴只会buggy到自己都无法debug

刷题方法很多的,提供以下几种:
  • 以Acceptance从大到小依次刷,接受率侧面反映了一道题的难度,实际上是从易到难
  • 分主题刷,有的主题公司喜欢面,比如tree,再比如dp
  • 分难度分类刷,Easy,Medium,Hard,可以现集中精力理解Easy和Medium
  • 一题题刷,俗称硬刷,我们往往在想怎么刷的时间太多,刷题太少
  • 随心所欲自由自在刷,但每天保证X道题,否则容易烂尾
  • 其他…

其实刷题是为了理解,最后对题目的理解变成直觉的一部分,面试就容易多了
回复 支持 反对

使用道具 举报

 楼主| 木头人 发表于 2015-2-10 22:33:28 | 显示全部楼层
Freetymekiyan 发表于 2015-2-10 13:02
一定要自己看懂之后写,不能直接复制粘贴,这是基本
Coding就是要牢牢控制自己写出代码的每一个小角落,稍 ...

谢谢大神指点
回复 支持 反对

使用道具 举报

 楼主| 木头人 发表于 2015-2-11 01:12:26 | 显示全部楼层
milerhh 发表于 2015-2-10 12:06
亲爱的木头姐姐~
:: 坚决不能ctrl c+ctrl v, 看答案只能看思路,其余的implement一定要自己写,不会的函 ...

胡姐姐说的好有道理 向胡姐姐学习
回复 支持 反对

使用道具 举报

 楼主| 木头人 发表于 2015-2-11 01:13:35 | 显示全部楼层
mnmunknown 发表于 2015-2-10 23:00
建议分类集中刷, 从难到易,leetcode上有tag会按照不同的数据结构和解题方法来分类,这样对同一类问题理解 ...

我才发现leetcode有tag!谢谢亲
回复 支持 反对

使用道具 举报

 楼主| 木头人 发表于 2015-3-4 12:09:50 | 显示全部楼层
winstonyu 发表于 2015-3-4 10:43
按照我自己的经历来说,leetcode刷题大概的套路的从易到难,然后各个专题击破。

有一定编程基础的话,ea ...

谢谢大神啊
回复 支持 反对

使用道具 举报

奔跑小子2099 发表于 2015-3-6 16:20:30 | 显示全部楼层
除了刷题是不是还要自己写些程序project啊?不然感觉resume上会比较空~
回复 支持 反对

使用道具 举报

dc_726 发表于 2015-3-6 19:49:01 | 显示全部楼层
Freetymekiyan 发表于 2015-2-10 13:02
一定要自己看懂之后写,不能直接复制粘贴,这是基本
Coding就是要牢牢控制自己写出代码的每一个小角落,稍 ...

谢谢分享!
回复 支持 反对

使用道具 举报

NicklX 发表于 2015-3-9 03:24:01 | 显示全部楼层
刷题是一方面,project 是另一方面,两方面感觉不一定有很大交集。
似乎按照自己想去的公司的面经原题刷会比较有动力点,尤其是拿到面试的
回复 支持 反对

使用道具 举报

oio14644 发表于 2015-5-4 02:52:56 | 显示全部楼层
mnmunknown 发表于 2015-2-10 23:00
建议分类集中刷, 从难到易,leetcode上有tag会按照不同的数据结构和解题方法来分类,这样对同一类问题理解 ...

哪有按照tag分类的,请明示
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-10 13:25

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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