前言
今天早上看了关于youtube上Cspiration Edward关于如何快速刷题的攻略,时长比较长,大概一个小时,但内容是干货满满的,这篇文章主要总结下这个视频中的几个关键点。
快速刷题
Edward主要说了下如果自己刷题应该注意的要点。自己刷题主要分为三遍:
第一遍
- 第一次刷题注重基础。
- 按照类型刷题。按照分类顺序表刷前400道。
- 第一遍直接看答案。比如sliding window,treemap。
第一遍初学者的学习状态应该是下面这样的:
- 不要创造数据结构、算法,而是要使用算法、数据结构。
- 思维的方式,要量变到质变。要用计算机的思维去做题。
- 不知道最优解往哪里想。
- 做题没有任何感觉,代码不知道从哪里写。
初学者在第一遍看答案目的是:
- 学习最优解。
- 边刷题,边学算法与数据结构,建立思维体系。
- 补数据结构,补算法知识。
在学习的时候,要做到看课本上的算法知识,做leetcode的题目,同时想知识与题目的联系。看、做、想都要做到。
第二遍
背经典算法,背一些模板题,经典题。因为面试时候,一紧张会忘记如何算法的实现细节。
第三遍
熟悉所有题目,大多数都自己写出来。
反复刷题的目的
之后Edward老师强调了刷完三遍题之后能达到的效果。
- 看到题有思路。
- 有思路能写出来。
- 如果是全职刷题的话,至少要4-5个月时间。
由于Edward是使用Java刷leetcode的,最后他还提到了Java的相关基础问题:
- Java面试常考基础。
- Java源码阅读。比如hashMap、hashSet、equal方法是如何实现的。
- Java基础数据结构实现。如何使用java实现Heap等数据结构。