项目地址:https://github.com/MisterBooo/LeetCodeAnimation

大家好,我是程序员小吴。12月初我在GitHub上上传了一个仓库,到现在为止获取了 6300 star,下面和大家聊聊关于项目启动的初衷、面临的一些困难和未来的计划。

「LeetcodeAnimation」的萌芽?

在刷Leetcode的过程中,遇到很多有意思和有难度的题目,有时候自己能做出来,有时候需要看别人的分析才能解开,但往往隔一段时间再去看原题的时候又是一头雾水。

这时,我在考虑:有没有一种方法可以把抽象的算法具体化、生动化,加深或者加快解题的思路?

「LeetcodeAnimation」的夭折?

想起去年曾用自己熟悉的编程语言开源过一个关于排序动画的项目(最近发现被人偷源码上架App Store),在GitHub上也获得了不少star,效果不错:因为每次想起动画场景的时候就能知道排序的思路,进而白板编程写成相应的排序算法代码,因为这个能力,在不少的面试的算法环节能轻松应对。

项目GitHub地址:https://github.com/MisterBooo/Play-With-Sort-OC

于是,尝试着将解题的思路用动画的形式记录下来。

一开始尝试像之前一样用OC语言编写动画,但发现这样效率太低了,一个简单的题目动画编写需要耗费几个星期的时间。

期间也学习过小程序,打算使用小程序来显示,可能功夫不到家,技巧不太熟练,效果也不理想。

百般尝试之后无果,于是这个想法停止了很长一段时间,期间自己依旧笨拙的刷着 LeetCode 。

「LeetcodeAnimation」的开始?【PPT做动画】

直到一个偶然的机会,自己在使用PPT的时候发现PPT的动画很丰富,使用技巧也不是很高深:只要你的想象力够丰富,只需要几分钟便能勾勒出思路动画。

于是,经过一小段时间的学习,加上自己的想象力,马上做出了第一个动画。

可以明显的发现,这个动画的交互与形状的设置并不是很好,不过,我认识到了:用PPT动画来演示LeetCode解题思路的确行得通!

当然,做PPT是个细致的活,于是花了一些时间摸索PPT功能,琢磨怎么把动画做的更好看、思路展现的更加流畅。

「LeetcodeAnimation」的动画是如何构思的?【一个题目变成动画】

基本上一道LeetCode上的原题从选题到文章生成的步骤是这样的:

  • 从基本熟悉知识点(图、树、堆、栈、链表、哈希表、记忆搜索、动态规划、指针法、并查集等)中每个知识点挑选出几道经典的题目;
  • 先自己审题、做题,然后查看网上有没有思路更加清晰的解题方式;
  • 加上想象力。

比如该题用到了链表的概念,那肯定动画就要有链表的形象;

比如该题用到了滑动窗口的概念,那就需要用长方形来表示窗口。

比如该题用到了二叉树的概念,那么就需要构造二叉树的图形。

其他的一些细节调整比如动画时间的设置、动画出现与消失的方式,这些就需要自己耐心细致的一帧一帧的调了。

「LeetcodeAnimation」的快乐与痛苦?【算法动图形成】

很多时候,一道题目的解题只花费了几分钟,但做出动画来却要划分一到两个小时不等。

自己是一个在职程序员,工作也比较饱和,动画的制作只能安排在夜深人静的时候,在十一月份的时候经常忙活着做动画做到凌晨一两点。

这个过程痛快却快乐着,毕竟,这是做自己喜欢做的事情:)

「LeetcodeAnimation」的成果

12月初,将项目放到了GitHub上面去,短短两天登上了trending版第一的位置。

到目前位置,已经有超过 6300 的star。

「LeetcodeAnimation」的长期计划?

正如我在 「LeetcodeAnimation」上写的:我会尽力将LeetCode上所有的题目都用动画的形式演示出来,计划用3到4年时间去完成它,期待与你见证这一天!

所以,基本上我一到两天都会制作一道题目的动画,状态好的周末,一天能做三四题:)

期间得到了很多读者的认可,觉得这种动画的形式大大方便了对于Leetcode的理解。

与此同时,有很多小萌新们觉得能不能从简单的数据结构开始,同样用动画的形式去解析一下。

经过慎重考虑,期间与「掘金」、「小专栏」等大佬们讨论之后,觉得「用动画呈现数据结构与算法」这个想法很棒!

于是,最近开始停止更新「LeetcodeAnimation」,转为从简单的数据结构开始进行动画制作。

但不用担心「LeetcodeAnimation」会不会因此「太监」,更新完数据结构与算法章节后,立马恢复更新「LeetcodeAnimation」,保守估计 2019 年会至少更新 130 道题目,敬请期待:)

程序员小吴的 2019 ?

通过「LeetcodeAnimation」这个项目,认识了很多的算法大佬,有慕课网最受欢迎的 波波老师(liuyubobobo),有大二就开始研究深度学习的学霸等。在与他们沟通交流的过程中,越来越体会到数据结构与算法的魅力,也越来越用动力将自己的公众号更新下去:)

明年的事情挺充实的:

  • 动画演示完「数据结构与算法」内容
  • 将如何制作动画的过程录制下来,让更多人参与进来
  • 小专栏出一本小书
  • 掘金出一本小册
  • 「LeetcodeAnimation」至少更新 130 篇,争取突破 20,000 star

2018,say hi say goodbye!

2019,与君共勉:)

关注公众号五分钟学算法 获取更多通过动画的形式了解数据结构与算法的文章

回复 1024 获取算法从入门到进阶的 1G 电子书

21天,在Github上获取 6300 star相关推荐

  1. 【博客园2018总结帖】21天,在Github上获取 6300 star

    大家好,我是程序员小吴.12月初我在GitHub上上传了一个仓库,到现在为止获取了 6300 star,下面和大家聊聊关于项目启动的初衷.面临的一些困难和未来的计划. 「LeetcodeAnimati ...

  2. 我如何用 21 天在 GitHub 上获取 6300 个 Star?

    作者 | 程序员小吴 责编 | 胡巍巍 大家好,我是程序员小吴.12月初我在GitHub上上传了一个仓库,到现在为止获取了 6300Star,下面和大家聊聊关于项目启动的初衷.面临的一些困难和未来的计 ...

  3. [资源分享] Github上八千Star的深度学习500问教程

    本文大约 600 字,阅读大约需要 2 分钟 这周要分享的一个资源是来自 Github 上的已经有八千多 Star 的一个深度学习知识总结,如下图所示: 其 Github 地址为: https://g ...

  4. 使用Idea从github上获取项目

    转载自:https://www.cnblogs.com/30go/p/7909246.html 整体分三步: 下载和安装git 配置idea 从git获取项目 详细步骤: 1. 下载和安装git 下载 ...

  5. 推荐:用动画的形式呈现解LeetCode题目的思路(github上25000多star)

    前些日子推荐了一个仓库,把常见算法用python语言实现了(见文章),近日在github上发现另外一个25000多star的仓库,用动画的形式呈现解LeetCode题目的思路,非常值得推荐. 仓库说明 ...

  6. 推荐:常见算法的python实现(github上25000多star)

    近日在github上发现一个25000多star的仓库,把各种常见算法用python实现了,而且还有动图演示,非常值得推荐. 仓库说明 这个仓库用python语言实现了绝大部分算法,主要是用于教学目的 ...

  7. 再见了,12306!春节回家第一抢票神器,GitHub上25万Star

    又要到新年了,想起了过年时,早上起来推开窗户外边已经是雪的世界,街上的冰糖葫芦,地瓜,还有从各地来的相聚的玩伴. 想到这里,小伙伴们是否也像小编一样对回家充满期待呢? 自从2010年官方推出12306 ...

  8. GitHub 上 1.3k Star 的 strman-java 项目有值得学习的地方吗?源码视觉来分析一波

    大家好,我是沉默王二. 很多初学编程的同学,经常给我吐槽,说:"二哥,你在敲代码的时候会不会有这样一种感觉,写着写着看不下去了,觉得自己写出来的代码就好像屎一样?" 这里我必须得说 ...

  9. 牛X,试用了下 GitHub 上 2 万 Star 的第一抢票神器,3 秒钟抢到!

    点击上方"视学算法",选择"星标" 车栗子 发自 凹非寺 量子位 报道 | 公众号 QbitAI 春节抢票正在如火如荼的进行,过年回家那肯定需要抢票,每年的抢票 ...

最新文章

  1. SAP中的记忆功能没有了,怎么办?
  2. n元n次方程求解c 语言,解n元一次方程
  3. Python | 在列表中指定索引处添加元素的程序
  4. 使用R7版NDK搭建Android开发环境[不使用Cgywin]
  5. c 连接mysql自动断开_ESQL/C连接和断开数据库(INFORMIX) | 学步园
  6. c# chart 点值标注_C# chart控件参数设定总结
  7. 电机控制入门——学习路线规划以及学习书籍推荐
  8. 密码编码学初探——传统加密技术
  9. ZynAddSubFX
  10. 看完20000条微博,捋一捋杜蕾斯的营销套路
  11. 优麒麟运行Linux软件,优麒麟Ubuntu Kylin特色应用软件下载
  12. java游戏 超级酒吧女生,酒吧游戏你知道多少?22个游戏你玩过几个?
  13. 02) android studio 创建安卓虚拟机,使用虚拟机调试
  14. linux之ssh命令详解
  15. directX 正试图在 OS 加载程序锁内执行托管代码
  16. 6-7 使用函数求素数和 (20 分)
  17. 【微服务】分布式如何利用Skywalking实现链路追踪与监控?
  18. 如何统一Windows和Macbook的使用体验,无缝切换,避免精分?
  19. ActivePerl PPM提示超时问题
  20. 大数据面试--20210611

热门文章

  1. matlab高斯消去法程序代码,如何在MATLAB用高斯消去法求解线性方程组程序
  2. 2021年技术自媒体经验分享 —— 开始尝试认真做 CSDN 的一年后的复盘
  3. 唐杰:悟道的雄心,何止是万亿参数模型
  4. 勾股定理计算机语言,勾股定理
  5. 做一个自由职业者是一种怎样的体验?
  6. (转载)纳豆的家庭制作、保存和食用
  7. 在删除极速输入法之后,状态栏还有极速输入法图标的解决
  8. 23-【kubernetes】二进制方式安装k8s集群遇到的问题
  9. c++如何画实心的箭头
  10. 暗角教程,如何加镜头晕影暗角效果