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

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

全局:

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

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

x
本人新手** 而且写代码长期喜欢网上搜来复制粘贴 修修改改就用 现在看到lc这样 一点提示都没有的真是疯了啊 有没有小伙伴和我一样情况的哦 怎么提高自己技术啊 而且lc好多题自己怎么想都想不出答案又要怎么办哦  小伙伴一般都是想多久题目的哦(第一遍) 感觉脑子不好 好累

上一篇:Single Number这道题有一个答案用Python一行搞定,不理解求助
下一篇:请教一道sql的题
推荐
winstonyu 2015-3-4 10:43:13 | 只看该作者
全局:
按照我自己的经历来说,leetcode刷题大概的套路的从易到难,然后各个专题击破。

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

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

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

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

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

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

楼主加油!

评分

参与人数 3大米 +155 萝卜 +1 收起 理由
sanguine + 60 感谢分享!
whdawn + 50
akatsuki521 + 45 + 1 回答的很好!

查看全部评分

回复

使用道具 举报

推荐
mnmunknown 2015-2-10 23:00:59 | 只看该作者
全局:
建议分类集中刷, 从难到易,leetcode上有tag会按照不同的数据结构和解题方法来分类,这样对同一类问题理解的会更深一些,也容易比较细节处理上的不同。

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

使用道具 举报

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

评分

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

查看全部评分

回复

使用道具 举报

🔗
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 ...

谢谢大神啊
回复

使用道具 举报

全局:
除了刷题是不是还要自己写些程序project啊?不然感觉resume上会比较空~
回复

使用道具 举报

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

本版积分规则

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