终于,我开始写算法题解啦!

4/26/2021 LeetCodeAlgorithm

# 为什么要写题解?

Hello,大家好,我是 KimYang。

其实,本科开设的数据结构这门课程与算法是息息相关的,可以说是入门算法必学的课程。这门课程在大多数高校的计算机专业中都会开设,我是大二的时候学习的这门课程,但是学的时候更多是为了应对考试,并没有去做太多的探索,也就没有了解到更有意思的算法;当事人表示十分的后悔!😩 后来复习考研专业课的时候,才逐渐了解到算法相关的内容,距今也有小半年的时间了。在这段时间中,我个人的成长和转变是非常大的,从最开始的踌躇满志,继而一脸懵闭,开始怀疑人生,然后偶得启发,到现在小有收获。

坦白来说,我写下本文的时候,我的刷题量也就一百多道,和真正的大佬相比,根本不值一提。但我依旧希望通过写题解的方式来记录下来自己对每一道题目的所思所想,也许其中很多方法早已是大佬们写过无数遍的内容,也许其中有些代码并不规范,但我想每个人看同一道算法题都会有不同的理解方式,而这便是值得记录的。也许某一天,你看到我写的题解和你所想十分类似,说不定咱俩能产生一种神交已久的默契感呢!哈哈哈 😄 当然,如果这些内容能带给你启发,哪怕一丝一毫,也是我的荣幸。

同时,我个人也是一个懒惰的人,很多时候做事情都没有足够的动力坚持下去,时常断断续续地推进。我也希望通过题解分享来给我更多坚持刷题的动力,所以恳请大家以后阅读完题解之后,一定要给我多多的点赞,多多的评论呀~这样我们就可以互相陪伴着刷题啦!一起坚持下去!!

# 题解规划

关于题解内容的规划,目前分为单篇题解以及阶段总结性题解两个方向。

其中单篇题解的内容,大致包括题目描述以及题解两个部分,题目描述来自原题,题解中可能会包括对题目的解释,会尽可能提供多种接替思路,其中可能有我自己的思路,也可能有来自其大佬题解的思路。针对单一思路,会尽可能提供从基础代码到当前最优代码的完整优化过程。总之,单篇题解的目标是提供最全的解题思路,呈现最完整的优化过程。

对于阶段总结性题解便是主要针对某类题型或者某类数据结构进行专项总结,抽象出一些基本方法和常见思路,以及罗列出典型的相关题目。说实话,这样的阶段性总结是非常困难的一件事情,它需要你练习大量的算法题。而这往往就会劝退很多人了,目前的我也是没有这个基础去写这样的题解了,但是我一定努力刷题,争取早日达成这样的成就。

# 小目标

目前我写的题解数量尚少,但是我给自己设定了一个小目标,挣他一个亿,啊,不对,是写一百篇题解!在正式开始写题解之前,我刷过的试题数量大概有一百多,但这一百多道题目都不如最近写有题解的十多道题目收获大。所以我给自己设定了一个小目标——写一百篇题解,保持每天至少一篇的速度。欢迎大家监督与催更!!当一百的小目标完成之后,我会将所有题解原文重新更新整理一次,然后将其在 GitHub 上开源。

# 刷题平台

目前我主要是刷 LeetCode 上的题目,顺序不定,随缘刷题。目前主要关注简单和中等级别的题目,困难级别的题目偶尔涉猎。除此之外也有很多其他平台值得推荐,例如:牛客网、LintCode、AcWing 等等。国内国外非常多,每个平台规则和特色都有所不同,所以如果有同学感兴趣的话,多多点赞,我以后可以单独写一篇文章总结一下嗷。因为我目前主要是面向工作刷题,所以选的是 LeetCode。

好啦!废话说完啦!大家一起冲吧~