我就是那个 @量子位 答案里面提到的“lucifer 小哥哥”。前端
我本人从开始准备算法以来,大概通过了几个月的时间,这期间本身成长了不少,从刷题菜鸡,到如今对刷题套路,题型有了本身的理解,感觉仍是蛮多的。我本人不是算法高手,算是勤能补拙类型。不过通过几个月的学习和练习,不只面试变得更加驾轻就熟,并且在工做中写更容易写出干净优雅,性能好的代码。git
我将本身这几个月的刷题经历都整理了下来,除了给出思路和关键点,还横向地对知识点进行整理,尽可能作到一题多解,多题同解
。 如今GitHub仓库有18k+的✨ , 欢迎你们关注。仓库地址: azl397985856/leetcodegithub
那么今天我就来回答一下这个问题,谈一下我是怎么刷leetcode的
。web
对于我来讲,刷题的过程其实就是学习数据结构和算法的过程
, 不只仅是为了刷题而刷题,这样你才能感觉到刷题的乐趣
。面试
我的建议,第一遍刷的时候能够先快速按照tag过一遍,快速感觉一下常见数据结构和算法的套路,这样本身有一个感性的认识。算法
第二遍咱们就不能像第一遍那样了,这个阶段咱们须要多个角度思考问题,尽可能作到一题多解,多题同解
。咱们须要对问题的本质作一些深度的理解,未来碰到相似的问题咱们才可以举一反三。数组
可是不少人作了几遍,碰到新题仍是没有任何头绪,这是一个常见的问题,这怎么办呢? 咱们继续往下看。微信
总结并记忆是学习以及刷题过程当中很是重要的一环, 无论哪一个阶段,咱们都须要作对应的总结,这样未来咱们再回过头看的时候,才可以快读拾起来。数据结构
信息输入大脑后,遗忘也就随之开始了。遗忘率随时间的流逝而先快后慢,特别是在刚刚识记的短期里,遗忘最快,这就是著名的艾宾浩斯遗忘曲线。app
anki就是根据艾宾浩斯记忆曲线
开发的一个软件,它是一个使记忆变得容易的学习软件。由于它是一个自定义多功能的记忆方式,能够大大减小你的学习时间,也能够大大提升 你的学习容量。 对于我本人而言,我在anki里面写了不少leetcode题目和套路的Card,而后anki会自动帮我安排复习时间,大大减小个人认知负担,提升了个人复习效率。
这个是个人anki card 你们能够直接导入使用,可是仍是建议你们本身制做卡片,毕竟每一个人状况不同,而且制做卡片的过程也是记忆的过程。
使用方法:
anki - 文件 - 导入 - 下拉格式选择“打包的 anki集合”,而后选中你下载好的文件,肯定便可。
更多关于anki使用方法的请查看anki官网
目前已更新卡片一览(仅列举正面)
你们刷了不少题以后,就会发现来来回回,题目就那么几种类型,所以掌握已有题目类型是多么重要。那样leetcode出题的老师,不少也是在原有的题目基础上作了适当扩展
(好比two-sum,two-sum2,three-sum, four-sum等等)或者改造
(使得不那么一会儿看出问题的本质,好比猴子吃香蕉问题)。
其中算法,主要是如下几种:
数据结构,主要有以下几种:
作到了以上几点,咱们还须要坚持。这个实际上是最难的,无论作什么事情,坚持都是最重要也是最难的。
为了督促本身,同时帮助你们成长,我在群里举办《每日一题》活动,每日一题是在交流群(包括微信和qq)里进行的一种活动,你们一块儿 解一道题,这样讨论问题更加集中,会获得更多的反馈。并且 这些题目能够被记录下来,往后会进行筛选添加到仓库的题解模块。
你们若是发现本身很难坚持下去,也能够加入个人群聊,咱们互相监督。 另外我还专门组建了slack群,有兴趣的能够加群后在群里喊便可。
你们能够关注个人公众号《脑洞前端》,公众号后台回复“大前端”,拉你进《大前端面试宝典 - 图解前端群》。回复“leetcode”,拉你进《leetcode题解交流群》
最后祝你们刷题愉快,拿到本身心仪的offer。