21 天,在 Github 上获取 6300 star - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
CoderOnePolo
V2EX    程序员

21 天,在 Github 上获取 6300 star

  CoderOnePolo 2018-12-29 10:30:16 +08:00 9517 次点击
这是一个创建于 2477 天前的主题,其中的信息可能已经有所发展或是发生改变。

不知不觉在 V2EX 待了两年多了,在这里看到了很多个创意与想法,自己也在这里收获了许多的认可,感谢 v 友。

12 月初在 github 上启动了一个叫做「 LeetcodeAnimation 」的项目,第一时间在这里宣传,靠 v 友们的第一波 star,冲上了 trending 榜,再次感谢:)

下面和大家聊聊关于项目启动的初衷、面临的一些困难和未来的计划吧。

「 LeetcodeAnimation 」的萌芽?

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

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

「 LeetcodeAnimation 」的夭折?

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

排序算法演示

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

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,与君共勉:)

49 条回复    2018-12-30 11:25:57 +08:00
privil
    1
privil  
   2018-12-29 10:33:21 +08:00
厉害了!
hackerang
    2
hackerang  
   2018-12-29 10:33:22 +08:00
牛皮!支持!
hflyf123
    3
hflyf123  
   2018-12-29 10:35:08 +08:00
支持,动画非常生动形象
CoderOnePolo
    4
CoderOnePolo  
OP
   2018-12-29 10:35:41 +08:00
@privil
@hackerang 谢谢,一开始全靠 v 友的支持冲上 trending 榜后,看到被认可,我才能坚定的做下去
CoderOnePolo
    5
CoderOnePolo  
OP
   2018-12-29 10:36:18 +08:00
@hflyf123 感谢支持
ZehaiZhang
    6
ZehaiZhang  
   2018-12-29 10:37:05 +08:00
star 了,超棒,顶
luosuosile
    7
luosuosile  
   2018-12-29 10:37:44 +08:00
创意的力量?,idea 不算新,但是没发现有多少人这么做
hei1000
    8
hei1000  
   2018-12-29 10:46:03 +08:00
支持一下
xiaozizayang
    9
xiaozizayang  
   2018-12-29 10:47:59 +08:00
波波老师粉丝群群友路过支持打 call
lvxiang119
    10
lvxiang119  
   2018-12-29 10:50:45 +08:00
加油哦~~
zdl0929
    11
zdl0929  
   2018-12-29 10:55:01 +08:00
支持,很厉害
ppdudu
    12
ppdudu  
   2018-12-29 10:57:56 +08:00
支持!牛皮
zhuoyan
    13
zhuoyan  
   2018-12-29 10:58:57 +08:00
支持
duowb
    14
duowb  
   2018-12-29 11:01:44 +08:00
支持
ayase252
    15
ayase252  
   2018-12-29 11:02:09 +08:00 via iPhone
很厉害,感觉用 PPT 搞动画工作量实在大。
gdky005
    16
gdky005  
   2018-12-29 11:05:45 +08:00
点赞
zhuly09
    17
zhuly09  
   2018-12-29 11:06:04 +08:00
支持
DR0011
    18
DR0011  
   2018-12-29 11:07:24 +08:00
膜拜大佬
SupperMary
    19
SupperMary  
   2018-12-29 11:10:46 +08:00 via Android
支持一下
SteveZ
    20
SteveZ  
   2018-12-29 11:11:15 +08:00
star 了,支持大佬
mathzhaoliang
    21
mathzhaoliang  
   2018-12-29 11:13:54 +08:00
开头英文版链接直接写 English VERSION HERE 就可以了。 而且我建议把 README 设为英文版,在开头加个中文版链接。毕竟英文受众确实更多。
atonku
    22
atonku  
   2018-12-29 11:16:09 +08:00
大佬厉害了,我要抄你的创意!
bonfy
    23
bonfy  
   2018-12-29 11:17:44 +08:00
支持 Leetcode 做动画,这个是第一次见

数据结构 做 动画的 国外见过还满多的,甚至还见过 代码 联动 动画的

我还是 期待你的 Leetcode 动画
Donne
    24
Donne  
   2018-12-29 11:31:26 +08:00
有点东西的
jruif
    25
jruif  
   2018-12-29 11:35:55 +08:00
很新颖的开源贡献,直接拿代码上 app store 就太恶心了
zhuoyan
    26
zhuoyan  
   2018-12-29 11:47:59 +08:00   1
想起以前收藏了个数据结构和算法动态可视化网站 https://visualgo.net/zh
radiolover
    27
radiolover  
   2018-12-29 12:32:32 +08:00   2
维基百科在 15 年前就有相关的演示动画了。
国人热衷这个,还不是因为最近几年的面试套路。
所以啊,本质上还是浮躁
a852695
    28
a852695  
   2018-12-29 12:36:36 +08:00
太支持了,能将枯燥的算法动画化,本身就是一个非常难得事情
dacapoday
    29
dacapoday  
   2018-12-29 12:46:45 +08:00
第一次看到国人弄这个,python 源码就自带一个 sort 可视化例子 Python36\Tools\demo\sortvisu.py
@radiolover #27 浮躁是一方面,也说明 IT 在国内的热门程度。可视化做出来容易,做到直观易懂,尤其是没常识的初学者易懂很难。
zhy
    30
zhy  
   2018-12-29 12:47:18 +08:00
赞!怎么做动画是个问题,谁来发明个动画的语言
wxl1380610
    31
wxl1380610  
   2018-12-29 13:05:34 +08:00
支持一下
HeliumTang
    32
HeliumTang  
   2018-12-29 13:26:59 +08:00
一看到楼主帖子就觉得和 liuyubobobo 老师的课很像,后面果然老师也出现了。支持楼主
SCaffrey
    33
SCaffrey  
   2018-12-29 13:27:47 +08:00 via Android
动画其实没有 visualgo 实用,不过能做出来也很不容易。加油!
weiliangweiliang
    34
weiliangweiliang  
   2018-12-29 13:40:58 +08:00
楼主加油 正好需要好好学习下
glfpes
    35
glfpes  
   2018-12-29 14:08:07 +08:00
@zhuoyan 你给的链接这个真的是太棒了
twttwt
    36
twttwt  
   2018-12-29 14:11:27 +08:00
支持一下
natforum
    37
natforum  
   2018-12-29 14:13:53 +08:00
膝盖送上
HeartJ
    38
HeartJ  
   2018-12-29 14:18:23 +08:00
支持一下,赞
kawkeye
    39
kawkeye  
   2018-12-29 14:20:10 +08:00 via Android
很不错,已 start,持续关注中
spark104
    40
spark104  
   2018-12-29 14:23:16 +08:00
orz
TonyShng
    41
TonyShng  
   2018-12-29 15:36:20 +08:00
真的做的很棒,赞
lamada
    42
lamada  
   2018-12-29 15:43:02 +08:00
赞!
zdd2389
    43
zdd2389  
   2018-12-29 15:52:34 +08:00
最早是在掘金看到大佬,那时候就关注了
xlx
    44
xlx  
   2018-12-29 15:56:00 +08:00
如果能再加个语音解说就更了
specita
    45
specita  
   2018-12-29 15:57:55 +08:00
国外网站这种方式见过,对理解算法挺有帮助的,支持一下
dallaslu
    46
dallaslu  
   2018-12-29 18:59:59 +08:00
把算法实现库,一步转成动画展示,有没有可行性呢?
dinghow
    47
dinghow  
   2018-12-29 19:00:58 +08:00
感谢分享,超级棒!
tianzry
    48
tianzry  
   2018-12-29 19:07:51 +08:00 via Android
支持。感谢你
kain007
    49
kain007  
   2018-12-30 11:25:57 +08:00 via iPhone
支持!
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     912 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 31ms UTC 22:00 PVG 06:00 LAX 15:00 JFK 18:00
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86