📣 独立日限时特惠: VIP通行证立减$68
查看: 15880| 回复: 64
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 写一点刷题感想

   
全局:

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

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

x
前前后后刷题也一年了,很多感想。所以想总结出来。我也不知道自己说的对不对,所以正好和大家交流,相互学习。

最核心的三条:
1. 想刷的好没别的,唯手熟尔
刷题跟高考数学本质一模一样。想想过去高中三年啥事儿都不做,天天做卷子,看到题就大概知道怎么做。而如今因为生活忙碌,各种事情distraction,导致刷题可能变得时间不够。再看看leetcode contest那些20分钟做完四道题的牛人,很多都是有ACM竞赛背景的。当然或许他们的确天资过人,但我更相信他们是从小开始训练coding,见多识广,经验丰富,submission上万遍,付出无数努力才能维持如此高的应试水平的。

另外,对于所有leetcode mediun题甚至一些hard题,也是要求你在半个小时甚至更短时间内做出来,不是要你花几个月几年时间做调研写报告或者做research探究人类未知,所以内容本身应该是很简洁的一个小问题(当然简洁不代表简单)。所以刷不出来?why?就一句话:刷少了。知识点不够熟,或者XX算法没见过,或者这种题型很陌生。不会的东西都可以在网上找到答案/资料/训练,而不像做research你面对的是unknown的东西需要花费巨大精力去不断尝试和研究;所以不会的就学习,缺少的就补课,每学一点,就进步一点。非常公平。

所以主要还是自己努力的不够。这是我最大的感受。

2. 最好做到不间断
上面说的是刷题本质,回答的是what的问题。现在说一下how的问题。
我的一个感想就是,从应试记忆的角度来说,一定要不间断的刷题,时刻保持手感。中间如果停掉一个月或者几个月,再pickup起来的成本就会很大。这也是我自己的一个重大教训,我自己毅力不够。往往别的事情一忙碌,就彻底把刷题抛在脑后了。过了一个月再回来狂刷。但我慢慢发现这个方式并不好,那些刷题很牛的人,他们一定是细水长流的,每天刷,哪怕每天只submit一次也可以。

当然说的容易,做起来难。就是毅力

3. 不停的总结套路+题型。。
如果说刷题有啥技巧,最核心的我觉得就是要不停的总结套路和题型。当然还没刷到200题的就不要care这个,先把量做到足够多才有必要总结。还是那个古老的规律:好记性不如烂笔头。之前说了,刷题本质就是努力,而努力的核心就是不停刷;如何高效的不停刷呢?就是做总结笔记。而且一定是参考其他人笔记后,做出的最适合自己的那个笔记,宛如自己的指纹,全世界独一份属于你的。比如,DFS/BFS画个图写个pseudo code总结下。然后有的题为啥BFS比DFS强?拿一个题做例子总结一下。有的题是DFS/BFS+union find;有的题是DFS/BFS+DP,分别总结下。backtracking里各种subset,permutation,combination总结一下看看他们的区别。Comparator怎么写?忘记了?赶紧总结个模板。类似的,2D array/priorityqueue如何sort? 。。。
不管任何大模板,还是小细节,都要做笔记。不管你用evernote,github,gitbook还是什么别的。

除了少数技巧特殊的题目,其他所有题目一定掌握核心灵魂,而不是死记硬背。我过去就犯过这种错误。已经两个月没刷题了,突然来个面试,慌了,所以赶紧把code背一背寄希望碰到原题。最后面试的时候一塌糊涂。而我那时候还没有很认真的做总结。所以有一份刷题总结在手,作为面试前复习的精华,就不怕任何突如其来的面试了。
所以刷来刷去,刷出来的就是套路。如何掌握这些套路?努力呗

另外还两小点。
第一就是我觉得现在题型核心就是DFS/BFS/Tree/Backtracking/UF以及延伸出的一些东西,这些都是一条绳上的蚂蚱(说的不对请指正)。当然还有一个点就是DP。 但是过于难的DP实在是想不出来。所以我不知道DP这个东西也是可以通过不停努力掌握的吗?
第二就是,面试的时候和leetcode刷题还是很不同的。lc刷习惯了会产生对那种环境的依赖感。而实际面试可能要你自己写main function;或者白板面试。这些都是要额外训练的。

以上都是个人感想。不知道说的是否正确。希望大家指正。相互交流学习进步。


补充内容 (2019-2-26 01:25):
这个帖子写了快一年了。其实没啥特别的内容。现在觉得要疯狂面试,让刷题活起来,而不是埋头刷题。。有机会再来写感想。。。

评分

参与人数 34大米 +205 收起 理由
shine1210 + 1 赞一个
gongyong1900 + 1 赞一个
2019GO + 1 赞一个
LlewynZhang + 1 赞一个
14417335 + 3 很有用的信息!

查看全部评分


上一篇:刷题记录自我监督
下一篇:请教一道面试题关于百万级别grid里找联通结构

本帖被以下淘专辑推荐:

  • · 刷题|主题: 55, 订阅: 17
推荐
chiaki 2018-6-14 10:01:23 | 只看该作者
全局:
"除了少数技巧特殊的题目,其他所有题目一定掌握核心灵魂,而不是死记硬背。我过去就犯过这种错误。已经两个月没刷题了,突然来个面试,慌了,所以赶紧把code背一背寄希望碰到原题。最后面试的时候一塌糊涂。而我那时候还没有很认真的做总结。所以有一份刷题总结在手,作为面试前复习的精华,就不怕任何突如其来的面试了。
所以刷来刷去,刷出来的就是套路。如何掌握这些套路?努力呗。" 这段话说到心坎里了,感谢楼主分享
回复

使用道具 举报

推荐
 楼主| biomedicineman 2018-6-14 12:34:08 | 只看该作者
全局:
queue 发表于 2018-6-14 09:03
非常非常感谢楼主细心地分享。很有用,楼主第三点总结的很好,虽然你问DP是否是训练可以想出来的。但训练熟 ...

但很多DP hard题是千变万化,真的很难想到。我自认为我的智商完全不够。。。比如burst baloon这种
我担心花费太多时间搞这方面的会不划算。而且我现在还是想继续找internship拿return offer,所以我有点想干脆放弃DP hard题。。。medium的DP题还是一定要做的。

我也不知道我这种策略是否凑效。
回复

使用道具 举报

🔗
iamwds 2018-6-12 06:48:54 | 只看该作者
全局:
thanks a lot for sharing
回复

使用道具 举报

全局:
感谢分享经验! 我觉得说的蛮有道理的
回复

使用道具 举报

🔗
FlyingSheep 2018-6-14 08:41:33 | 只看该作者
全局:
我觉得楼主的经验很有用,谢谢
回复

使用道具 举报

🔗
queue 2018-6-14 09:03:04 | 只看该作者
全局:
非常非常感谢楼主细心地分享。很有用,楼主第三点总结的很好,虽然你问DP是否是训练可以想出来的。但训练熟能生巧,另一方面真的会训练自己思考问题的方式,让自己有感觉这个问题可能要怎么考虑。 不过在刷题这方面自己还是完全的新生,这个月才开始,遇到不会的简直是一点都不会~ 看楼主的帖子很受鼓舞~O(∩_∩)O谢谢
回复

使用道具 举报

🔗
tony.chenjy 2018-6-14 09:23:11 | 只看该作者
全局:
虽然我第一次看 binary tree的properties的时候也会一脸懵逼,但我相信多年的数学基础能帮助我慢慢看慢慢算也是能醍醐灌顶,所以同样相信DP的思维也能一步步训练,不过就是“见多识广、熟能生巧”,所以最后谢谢分享!楼主加油!
回复

使用道具 举报

🔗
bh1 2018-6-14 12:49:14 | 只看该作者
全局:
为什么那么多踩的啊,写的很好。多谢分享!
回复

使用道具 举报

🔗
lantian_bihai 2018-6-14 12:54:43 | 只看该作者
全局:
寫得很好 謝謝
回复

使用道具 举报

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

本版积分规则

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