论如何4个月高效刷满 500 题并形成长期记忆
Study less, Study smart; Trust yourself, Brace loneliness.
前言
本文我将分享给大家一套我自己使用良久并觉得非常高效的 学习论,它可以运用到 Leetcode 上的刷题,也可以 generalize 到生活中涉及到学习以及记忆的方方面面。当然,本文将以 Leetcode 刷题为 case study 去进行讲解。 更具体一点, 我会教大家如何运用该学习论在 4 个月的时间内从 0 算法基础到实打实刷满 500 道题,并且形成长期记忆,同时具备高效解决各种同类型题目的能力。
方法论概要
我想要给大家分享的这套方法论原理并不复杂,里面的每一点单独拎出来你或许都有所耳闻。但倘若想要长时间地 (三个月以上) 将其贯彻, 做到受益最大化,却需要很强的毅力和自制力。我自己本人大概用了三年时间才慢慢地适应其节奏。我坚信, 如果你可以在四个月的时间将其贯彻到底,绝大部分 company 的算法轮对你而言将不再是任何阻碍。
简单来讲,它可以总结为以下 4 点:
- 始终保持匀速前进,既不松懈倦怠,亦不急于求成
- 定时归纳总结, 按类训练
- 深度理解人的记忆规律,高频率高效复习
- 拥抱孤独, 过滤外界杂音, 平稳心态
下面让我们逐条剖析。
Section 1: 始终保持匀速前进
对于 “每天刷多少题” 这个问题的探讨,主要分为两大流派,我姑且将它们称为 “题海流” 和 “归纳流”。 假设质量和题量的乘积为定值, “题海流” 更主张牺牲部分的质量,通过 题海战术 大量刷题, 做到以量取胜。 而 “归纳流” 则更求稳, 偏向于求质不求量,所以一天可能做不了几题,但做一题是一题,且每做完一类题马上停下来投入 大量精力 进行 归纳总结。
在最开始的时候,我是 “题海流” 的忠实信徒,平均一天 8 ~ 10 道新题起步,发力最猛的时候甚至一天要做 20 道题。我不得不承认在刚开始刷题的初期,我可以明显感受到 “题海流” 给予我的强大 正反馈,每当自己看到自己的题量蹭蹭蹭上涨,那种兴奋与成就感总是溢于言表。然而,没过多久,我就发现了一个很严重的问题: 即无论我做多少道题目,碰见新的题我大概率还是没有思路, 必须要看题解。更糟糕的是,一两周过后,即便是遇到了我之前已经做过的旧题,我可能依旧不会做。 刹那间,起初的那种缥缈的 正反馈 瞬间被转化为了与其对立且强度是其数倍的 负反馈。我开始频繁地怀疑自己, “我是不是不适合学算法?”,“为什么我做了这么多题还是看不到进步?” 等问题席卷而来。然后你会发现这是一个恶性循环,持续不断的负反馈会不断摧毁你的自信,而你不断被侵蚀的自信心则会给予你更多的负