为什么刷 Leetcode

谈谈“技能树”

首先,这是我的 2019 的目标,不能让自己的 flag 倒了!

而在这之前,我已经做了两份教程,或许称之为笔记更合适:

自己已经深深地喜欢上了这种系统地记录知识、整理知识,方便自己 review 和别人 view 的方法。

而在步入前端的一年的时间里,我有做过商城系统,也有做过前后端的个人博客,还用 Hexo 完全静态化地重写了博客。 期间也和小伙伴一起创业,一个人做的移动端、商户端、服务端等等,顺便学习了微信的相关开发。

而随着时间推移,Web 技能树逐步被点亮(当然, 还有很多需要学习的地方)。 请注意:这里说的是“技能”树。

谈谈“知识”

是的,技能和知识在我看来是有区别的。技能重广度,而知识重深度。 我需要什么知识?又要如何锤炼知识? 显然,算法和设计模式构成了计算机知识的重要部分,即使对于前端来说。

刷 Leetcode,就是学习算法、实战算法的最好方法; 而系统地整理记录,更是自我回顾、提升的最佳途径。

怎么刷 Leetcode

已经忘记了从知乎上哪里看到的了:龟速刷题法。

大体的意思是说:记录每道题的做法和思路。每道题不以解出来为目的,而是尽量去优化算法,去做 code review。

这种方法显然适合“慢性子”的人。长远来看,1~2 天做一道题,才能让自己的思维不被重复性工作奴役, 更重要的是能够时刻应对突发事件(比如被辞退、找工作)。

即使疯狂过了全部的题目(第一次),我见过最快的,也需要 3 个月(数据来源:知乎)。 与其事后后悔什么没记住,倒不如细水长流。

综上所述,我选择了这种方法。

如何看待这个项目

网上有很多类似的项目了,几个完成度较高的 Leetcode 题库基本完成了 99%的题目。但是,压根没打算竞争,水平有限而且毫无意义。

当然,也不是一无是处,项目亮点有三个:

  • 开源免费:基于 Markdown 编写,托管在 Github 上,喜欢就 Star,有收藏癖就 Fork。
  • 渐进式:不只记录最优解法,也记录暴力解法。毕竟谁也不可能一下想出来最优解。
  • JavaScript:全部用 ES6 语法编写,毕竟是做 Web 的。如果你也是 web 攻城狮,这个还蛮不错哦。

当然,这些代码都是在 Leetcode 上 Access 了

一起参与

页面上方导航栏有着Github 仓库地址,还有着我的博客主页。 在每篇文章的下方,也有对应的 Git 地址。

欢迎各路大佬给予指点, 欢迎各路大佬给予指点, 欢迎各路大佬给予指点