CSDN 的小伙伴们,大家好,我是爱学习爱分享的沉默王二。
迫不及待的小伙伴可以直接拖到文末,拉取离线版的下载地址,无套路无解压密码,我整理了将近一周的时间。
不经意间,在 GitHub 上发现了一个 1G 棒的 LeetCode 刷题笔记,重点来了,是纯正的 Java 版。我见过很多牛逼的刷题笔记,有 Go 版的,有 C++ 版的,唯独没有 Java 版的,所以这次,我感觉找到了宝藏!
其实私下里很多小伙伴问我有没有 Java 版的,一开始我觉得刷题嘛,用啥语言刷题根本不重要,重要的是解题的思路。但看到这份 Java 版的刷题笔记后,我明白了,原来使用自己熟悉的编程语言来刷题,真的会提高刷题的幸福指数~
随便打开一道题解感受下,作者真的做到了图文并茂,不只是干巴巴的解题代码。这些手绘图让我感受到了作者的良苦用心,并且很多题都给出了多种解题思路,让我们能从不同的角度去思考,去得出最优解,而最优解,在面试的时候也是加分项。
作者从大一就知道了 LeetCode,但刷题总是三天打鱼两天晒网,隔断时间再去看之前刷过的题总是会想不起来,于是就萌发了刷一道题总结一题的想法。另外一方面,LeetCode 上的一些题解讲解得很少,有些只是简单的丢一些代码,对菜鸟很不友好,于是作者就想借这个机会把自己的各种解题方法都梳理清楚,然后详细地总结出来,也能方便其他小伙伴更好的理解,可谓一举多得。
作者在大一的时候就参加过 ACM 集训,但当时基础太差了,栈和队列都不清楚,所以 ACM 之路也就搁浅了。再准备刷题的时候已经是大四毕业的时候了。
作者在刷前几道题的时候也很慢,很多都没有思路,只能靠别人的解题思路才勉强过关。尤其是第 5 题求最长回文序列,用了好多天才把所有解法都总结了出来。
等到作者刷完 100 道题之后,发现真的是爱上了刷题。基本上后面的每道题都可以想出一种思路,甚至就是最优解,还会萌生一些别人没想到过的解法——哈哈,一种打游戏超神的感觉~
所以呢,我劝大家,不要怕自己基础不好,不要担心自己想不到解题思路,一开始就是借钱嘛,不不不,借鉴嘛,借的多了,自然就不用还了,成自己的了。重要的是开始和坚持。
Q:刷题需要基础吗?
A: 对于前 90 道题,只需要了解一门编程语言,知道变量、方法如何定义,if 语句,循环语句,递归。了解基本的数据结构,数组、链表、栈、队列、哈希表就可以了。
Q:按照什么顺序刷题?
A: 可以按照题目难度来,一开始多刷 easy 级别的,熟悉一下刷题的流程。如果时间充足的话,可以像作者一样,顺着 LeetCode 上题刷,先培养一些常用的解题思路,然后再慢慢加深巩固。
Q:选哪门编程语言刷?
A:作者的答案也是随便,不用纠结。算法与编程语言之间的关系就好像抄近道和交通工具之间的关系,算法只是用来降低时间复杂度和空间复杂度的。选一门熟悉的编程语言就好。作者选 Java 的主要原因是因为 Java 属于强类型语言,写出来的解题方法会更容易读懂一点。
Q:只刷题就能找到工作吗?
A:答案是显而易见的,我和作者保持同样的观点,只刷题肯定是不够的,还要了解岗位(前端、后端、算法)的相关知识,另外还要做一些练手项目,得有一些实战经验。
喜欢这份 Java 版刷题笔记的小伙伴可以通过下面的方式拉取下载地址。我亲手整理的,花了将近一周的时间,累坏了。
第一种,微信搜索「沉默王二」或者扫描下面的二维码,关注后回复关键字「102」拉取下载地址(没有解压密码,无套路)。
第二种,通过 CSDN 自家的开源广场下载,文件名叫《Java 版的 LeetCode 刷题笔记》。
https://codechina.csdn.net/qing_gee/csdn-book
不管怎么说,真的非常希望这份 Java 版的刷题笔记能够帮助大家提高一下 LeetCode 的刷题水平!
还有,给我一键三连吧,分享和整理也是个辛苦活, ^ ^
转载:https://blog.csdn.net/qing_gee/article/details/115456883