写了 1000 篇 LeetCode 算法题解是什么体验?

作者「负雪明烛」分享了从LeetCode小白到高手的成长之路,讲述了如何通过撰写算法题解来提高自己的算法水平,并在此过程中帮助了众多读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好,我是「负雪明烛」,一位用 7 年写了 1000 篇 LeetCode 算法题题解的程序员。欢迎关注。

今天分享的是——我的算法题解写作感悟。

初识 LeetCode

我是大二的时候开始接触算法题的,这个时间不算早也不算晚。

记得当时还没有开始学「算法与数据结构」这门课,我从北邮人论坛里看到学长学姐分享找工作经验,了解到找工作需要刷算法题 LeetCode。

当时我是一个彻底的小白,根本没听说过 LeetCode。我从百度上找到了 LeetCode 的网址,点进去发现它的界面都是英文的,当时极度怀疑有没有找错网站 😂😂。

在这里插入图片描述

我怀着试一试的想法,注册了 LeetCode。

没想到从那时起,我跟 LeetCode 结下了不解之缘。

写作博客

我已经忘记了当时为什么会有一边刷题、一边写算法题解的想法,可能是在论坛里听了学长学姐的建议,也可能只是为了记录一下自己的代码。

最开始刷题的时候,因为只懂一些 C++ 和 Java 的基础,完全没学过数据结构和算法,所以基本上没有会做的题

我发的第一篇博客是「13. Roman to Integer 罗马数字转整数」,依稀记得当时是研究了很久才做出来的,所以记录到博客里了。

后来又刷了二叉树的题,根本就不懂什么翻转啊、什么递归啊。基本一个题就得搞一天甚至几天,不停地在纸上画图,才能慢慢明白。

当时找不到多少和 LeetCode 有关的中文资料,我全都是看英文的题解,高赞的题解很多都是「一行代码」、「trick 做法」,对新手非常地不友好。

也没找到合适的刷题路线,所以自己很痛苦地刷题。

也因此,当我在搞明白一个题目之后,务必用最易懂的语言写一篇题解。后来发现这样的博客,无论是对自己、还是对别人,帮助都很大。

日积月累

忘了是在大二还是大三,终于有了《数据结构和算法》这么课,我满心期待:终于能好好学一学了!

悲催的是,在第一节课,老师讲的「时间复杂度」全是公式,我就已经晕了。之后的课也都太抽象,又是下午的前两节课容易犯困,我基本都睡过去了😳😳。

不过无论如何,《数据结构和算法》这门课算是让我正式入了门,我终于知道了栈、队列、二叉树、森林、图、递归等等概念,终于对常见的数据结构有些认识了。

从那之后,我刷算法题找到了点感觉,一些简单的题目能做出来了。

我算法题能力突飞猛进是在考研的时候,这段时间我再次认真学习了数据结构和算法;为了准备考研复试,又刷了很多算法题,终于逐渐找到了感觉,中等难度的题目可以独立解决了,信心也不断增强。

后来,在读研阶段疯狂刷题,基本上每天 1~2 道,每道题目都写题解。这段时间真的是刷题 10 分钟,题解一小时。

题解博客里的读者阅读、留言给了我很大的正反馈,所以我就坚持写了下来。

总之,在这 7 年里,我每刷一道题,都会对应地写一篇算法题解发在了 CSDN 上,至今已经写了 1000 篇题解,单在 CSDN 上就有将近 200 万阅读。
在这里插入图片描述

18 年左右吧,LeetCode 出了中国版,即力扣。从 2020 年开始,我在力扣上持续更新题解,现在已经达到了最高声望等级 L6,收获了 100万 阅读。

image.png

感悟

写算法题解,其实不是一个难事。只要把一个题做对了、看别人的题解看懂了,然后用自己的语言,再梳理一遍写成题解文章就可以。

我最开始写的题解文章完全就是给自己看的,所以也就是简述一下思路。

随着后来做的题目越来越多,算法水平逐渐提高,我的题解质量也越来越好了。

  • 写作题解,让我更好地理清思路:如果不能给别人讲明白,说明自己没真正懂。

  • 写作题解,让我形成了「输入」和「输出」的循环,两者相互促进,提高了我的算法水平。

  • 写作题解,让我收获了很多读者粉丝的支持和提醒,所以更加有意愿去坚持刷题,在算法学习之路上不断精进。

  • 写作题解,也帮助了很多刷题的读者理解题目、学习思路套路,避免了很多坑,提高了刷题效率。

总之,写作题解是百利而无一害的事情。

如果你也在刷题,不妨跟我一样,把题目的思路写下来、分享出去。

不为流量和收益,只为自己和他人。

一起加油!

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值