万事开头难
开始之前捋一捋我的收获跟思路。
万事开头难,一开始着手做算法的时候,想必大家跟我的困惑是一样:我的算法不好,我怎么来开始?在大量的search 之后结果告诉我,大概有这么几种:
a. 不用怂,就是干,按着推荐的顺序来做就ok
*b. 按照 分类 tag 来进行
*c. 按照难度先做 Easy 难度的,再去做 Medium 、 Hard 等
那么看完这些,还是纠结拿不定。于是又一两个月过去了。是不是很有同感 o.0
我的过程
痛定思痛之后,决定不管怎样先做起来。
从 Easy 开始刷,慢慢刷了70道题之后,对题目中遇到不熟悉的数据结构 ,先去熟悉学习数据结构。在完成几十道题目之后,发现偶尔做一些 Medium 难度的题也ok了,像是打开了一扇门,这时候我决定做出改变。
于是开始分 Tag 来刷题,就这样 Easy、Medium、Hard 分布比例为 7:2:1来刷题,效果出奇的好,对于各种Tag 题型体会也更深。
就这样在做完200道题的时候,发现很多题型其实大都差不多,方法也差不多,于是开始着手总结每种Tag的做题思路,在 经过3天,回顾了150道题之后,又有了新的收获。于是决定开了这个专栏来督促自己,也与大家共同分享共同进步。
我的专栏规划
在经过小半年的刷题小小有所收获,分享一下,避免少走弯路。更高效的去学习算法。我以自身的经验规划了一下即将分享的东西,希望可以帮到大家。
由于大多数人的blog,简单记录一个思路,就直接上代码,我在刚入门的时候,真的看得很痛苦,所以尽量分享的每道题都会有一个简短的解说视频。
- 第一阶段 : 【开篇】10道题,带你了解一下,算法题到底是个什么东西。以及通过算法题来了解一些算法类型,比如:动态规划,深度优先搜索,广度优先搜索,贪心等等… 绝大多数概念是晦涩难懂的,通过算法来记忆,经久难忘。
- 第二阶段: 【Easy】50 道Easy
- 第三阶段: 【Tag】分 Tag 刷题
- 不定期插更
最后还有一个很重要的东西,就是时间复杂度和空间复杂度的计算。先给大家一个科普的介绍,这部分不用过于关心,在做完100道题后,在回过头来介绍,相信我,你一定会理解它。
By the way ~ 黑五的时候牙一咬,买了个LeetCode 会员,不定期跟大家分享热门公司的面试题~
预计会每周3更左右!过年期间开始。哈哈哈哈~