how to solve problems
(1) 先学会看答案
如果一道题超过十分钟还是没想法,果断看答案;但是不是抄答案,而是学思路,然后用自己的代码实现出来
(2)反复练习
对于刷完的题一定要反复练习,多写几遍。可以在笔记里把题目分为以下几类:
<1>必背 大约20~30道都是各类型题目的典型模板题基本需要刷十几遍做到迷迷糊糊半昏迷状态也能熟练默写的肌肉记忆状态
<2>核心 大约100~150道主要是各种高频题和经典题基本在5~8遍以上需要做到最优解medium难度10分钟以内hard难度15分钟以内无错一遍过同时要能解释清楚思路另外有多重解法的也要掌握知道不同解法间的优缺点和tradeoff原因
<3>重点 大约200~300道核心题之外的高频题基本在5遍左右这样遇到原题或者类似题的时候基本思路、逻辑不会错能不能临场完全bugfree要看基本功和运气
<4>普通 上述题之外所有你刷过的题基本上做过一两遍有个思路临场遇见了不会慌
(3)详细的笔记
- 思路示意图
- 易错点(自己的错误思路)
- 关键之处
- 技巧细节(比如不会把int转化为string之类)
This post is licensed under CC BY 4.0 by the author.