LeetCode刷题开始

最后选的是兔法刷题法。毕竟直接看也不会,浪费时间太多,不如直接点击题解看答案——看几个经典的——开始复刻经典答案里面感觉最好的那个——提交看排名——看最好的那个代码——复刻最好的那个代码。

最好代码找法:

 

算法助手:

尽力将 LeetCode 上所有的题目都用动画的形式演示出来

https://github.com/MisterBooo/LeetCodeAnimation

 

摘抄下各个大神给的刷题方案,后面就对着这个来了:

作者:夜长安
链接:https://www.zhihu.com/question/280279208/answer/553161466
来源:知乎

我将自己这几个月的刷题经历都整理了下来,除了给出思路和关键点,还横向地对知识点进行整理,尽量做到一题多解,多题同解。 现在GitHub仓库有20k的✨ , 欢迎大家关注。仓库地址: azl397985856/leetcode

第一遍按tag刷,第二遍一题多解,多题同解

个人建议,第一遍刷的时候可以先快速按照tag过一遍,快速感受一下常见数据结构和算法的套路,这样自己有一个感性的认识。

 

 

第二遍我们就不能像第一遍那样了,这个阶段我们需要多个角度思考问题,尽量做到一题多解,多题同解。我们需要对问题的本质做一些深度的理解,将来碰到类似的问题我们才能够触类旁通。

但是很多人做了几遍,碰到新题还是没有任何头绪,这是一个常见的问题,这怎么办呢? 我们继续往下看。

艾宾浩斯记忆曲线

总结并记忆是学习以及刷题过程中非常重要的一环, 不管哪个阶段,我们都需要做对应的总结,这样将来我们再回过头看的时候,才能够快读拾起来。

信息输入大脑后,遗忘也就随之开始了。遗忘率随时间的流逝而先快后慢,特别是在刚刚识记的短时间里,遗忘最快,这就是著名的艾宾浩斯遗忘曲线。

 

 

anki就是根据艾宾浩斯记忆曲线开发的一个软件,它是一个使记忆变得容易的学习软件。因为它是一个自定义多功能的记忆方式,可以大大减少你的学习时间,也可以大大提高 你的学习容量。 对于我本人而言,我在anki里面写了很多leetcode题目和套路的Card,然后anki会自动帮我安排复习时间,大大减少我的认知负担,提高了我的复习效率。

 

作者:lucifer
链接:https://www.zhihu.com/question/280279208/answer/824585814
来源:知乎

对于遇到的每个题目,事后我都做上标记:普通题目,难题、好题。此外,每个题目都分为以下几个步骤做好详细的笔记:

1. 原题目

2. 自己的第一遍解法

3. 网上好的解法

4. 自己可以改进的地方

5. 进一步精简优化自己的代码直至代码简无可简(这是非常关键的一步,到达这一步,才会发现获得能力的提升远远要超过简单地把题目解出来

6. 获得的思考(或者学习到的地方,可以是算法、数据结构或者Java的特性—例如Stream等等)

每一个题目都经过至少一遍这样的迭代。这样几遍下来,我对于每个题目都有了更加深刻的理解,代码几乎达到最精简状态。(中间有略去几次迭代)总之,不断地学习别人的代码,改进自己的代码,不断地锤炼自己的代码,直至算法最优化,代码最简洁!潜移默化中,不仅对题目解法有了更深刻的理解(什么是最优解),而且也知道如何用最简洁的代码实现这个最优解。

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值