怎样高效地刷leetcode
刷过800题,目前已拿到dream offer,对LC感激不尽。这里分享一点自己的刷题心得。
刷题其实刷的是两方面的技能,一个是解题思路,一个是coding的熟练度。很明显后者比前者要容易得多,所以建议把重点放在训练解题思路上,并且建议大家没有必要每一题都刷,除非你时间足够充裕。同样类型的题没有必要都刷,读完题以后觉得对提高思路没有太大帮助的话可以直接跳过。思考过程:面试题和竞赛题不一样,面试题在解题思路上都是有迹可循的。我个人的经验是复杂问题分解为简单问题,一步看不清楚的问题分成多个简单步骤,走一步看一步。总而言之就是breakdown语言:最好使用和面试一致的语言。不过如果只是训练解题思路的话 我比较喜欢用python,C++打字太费劲 【怎样高效地刷leetcode】
■网友
虽然我没有经常刷leetcode,但是这并不妨碍我吹一波vscode的在线刷leetcode插件
■网友
第一次回答哎,哪里说得不好麻烦大佬指出来(逃
刷了差不多半年,最后拿到了 FLAG 实习。我说一些个人的想法吧(毫无逻辑
本人写的总结文章和题目分类(200 多篇):
LeetCode Book心态很重要。不要那么功利性。多问问自己学到了什么,激发自己的学习兴趣。刷题前先过一遍数据结构。上半年花了三个多月的时间跟了伯克利 CS61B 的课,激发了我对数据结构的热情(教授也太有趣了)。基础搞好了也有助于刷题,我感觉 lc 上有很多人的分析是错误的,没有好的基础容易被带偏。比如,要知道 ADT 是啥。List 是 ADT,Stack 也是 ADT,Priority Queue 也是 ADT(Heap 是 implementation)。了解情况。找一个培训班的公开课视频看看,了解一下找工作的情况,心里有个底。此外,推荐 huahua 的 sp 频道,有教如何刷题和有用的总结(比如 binary search)。用 Java?如果是新手,推荐用 Java。61B 里教的 Java 完全够用。个人觉得 Java 很适合数据结构的学习,接口对应 ADT,类型名字准确(Priority Queue、TreeMap)。虽然代码很长,但可以练打字速度啊!(80WPM 的打字速度让我在面试里有时间写很多注释)而且,我感觉网站上用 Java 的人比较多。按类型刷题,从 LinkedList、Array 到 Tree、Map、PQ,再到 Backtracking、DP。从 Easy 到 Medium,适当放弃 Hard。刷多了我觉得有一种能力很重要,就是当你遇到一道新题,你知道它的价值有多少,这可以通过点赞数、公司、频率、有几种解法来判断。比如 Trapping Water 是道很好的题,看 Solution 里的方法就知道很适合当作面试题。多总结、多和别人讨论。我每做一道题都会写一篇总结,然后 post 到讨论区(可参考我的博客)。因为要给别人看,我会不断检查自己写得够不够好。在这个过程中我对题目的理解也不断加深。几个月中我刷了 200 多道,写了 200 多篇总结,基本涵盖所有的解法。平时也可以多和身边的朋友面对面讲题(费曼学习法)。注意代码风格。真的很重要,不要少掉任何一个空格。推荐 Google Coding Style。看多了别人的代码会发现讨论区很多代码是没法看的。一定要复习旧题!虽然写了总结,但很多文章都是经过两三次的修改。而且,我发现一般在刷第 2 - 3 遍的时候会对题目和解法有更深的理解。有了好的心态就不太会注重刷题的数量,而更在乎刷题的质量。题量决定你知道有哪些题型和套路,遍数决定你的能力。面试官看重后者吧?而且,点开在讨论区发帖比较多的大佬的 profile,Company: Microsoft、Google!Reputation:1000+!其他:多画图。一定要买会员。写完代码后先用脑子检查,不要用 run 来调试,这个习惯很不好,最好要按照面试的做题流程来训练。补充什么是总结:
binary search 里的 lo \u0026lt; hi 和 lo \u0026lt;= hi 有什么区别?mid = lo + (hi - lo) / 2 得到的 mid 是偏左还是偏右一个元素?hi 指向最后一个元素还是最后一个元素的下一个元素?对 mid 有什么影响?什么时候用 max heap 什么时候用 min heap?快慢指针的 slow 指针最后指向的位置偏左还是偏右?知道 Java 里取 Array 大小用 .length,取 Array List 大小用 .size(),取 String/StringBuffer 大小用 .length()。如何用 StringBuffer?split() 的参数有什么用?Backtracking 的 reject case 怎么写?有哪些写法?...有趣的发现:每次遇到 @awice 写的 solution post 都非常难受,而看评论区的回复真的好搞笑哈哈!
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义
