V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
linsen80586
V2EX  ›  分享创造

动画学 leetcode 算法,全免费!做了一款 iOSApp 算法宝,欢迎大家试用!

  linsen80586 · 2023-02-14 02:08:20 +08:00 · 23604 次点击
这是一个创建于 408 天前的主题,其中的信息可能已经有所发展或是发生改变。

初来乍到,很喜欢这里的分享氛围,观摩了很多大佬的作品,也分享下自己刚开发的一款 App:算法宝。

在算法宝 App 里一共制作了 70 个 leetcode 算法动画。目前所有算法动画0 元秒杀,无广告AppStore 链接https://apps.apple.com/cn/app/id1624248084

为什么会做一款算法动画图解 App

和很多程序员一样,每次换工作前都要准备大量时间刷算法。很菜,刷题过程中都要先看题解。在网上也看了很多大佬的题解,特别喜欢看有动图或者示意图的算法解析,比看文字快。在这过程中也发现了几个问题,比如:动图是没有交互的,不能暂停;数据是死的不能换;手机上学习不太方便等。

一开始看到过一些不错的动画,几次都有很大的冲动想在 App 中用原生代码实现,这次终于下了决心,一口气做了 70 个动画。

我理解这款 App 的定位是一个工具,可以帮助我们快速理解算法思路和代码,帮助记忆,提高学习效率。但在这里不能提交,不能执行代码,代码还是要在电脑上敲才更有感觉。

为什么没有按照 leetcode 编号顺序排列

目前给算法题做了分类,分为三大块:

  • 链表,字符串,数组,二叉树;
  • 回溯,贪心,动态规划,分治;
  • 排序单独做分类。

每个分类下,按难度分为简单,中等和困难。

先把数据结构和算法分开归类,按知识点学习,比如可以集中时间学习二叉树结构或者动态规划算法,这样集中饱和训练有助于提高学习效率。数据结构在前,算法在后,也是按我们学习理论知识的顺序安排的。 算法方面,目前安排了回溯,贪心,动态规划,分治四种。 个人多年前学习数据结构和算法最早接触的算法就是各种排序,当时觉得排序太难了,印象非常深刻,所以为初学者单独做了一个排序分类。

动画和代码如何结合等交互问题的思考

  • 自己学习算法过程中经常理解了思路,但是代码却看不懂,而且很多文字讲解中的代码没有注释,看到这种就头很大。所以,思考 App 交互的时候特别设计了代码高亮功能,这意味着每一行的代码会跟随动画进度高亮。这样动画在执行,代码在高亮,看着也很酷。
  • 动画虽然容易理解,但还是需要有一些简短的讲解,所以在动画下方设计了“字幕”功能。每次执行到对应步骤,对应的讲解就会展示。
  • 动画的播放和重置,每道算法页面都有播放功能,那测试用例如何准备呢?简化测试用例概念,设计了“重置”按钮,也就是说测试用例是随机的,当你想换一套数据,点一下重置就可以了。

上传了 youtube 的几个算法视频贴在下面,请大家多指教

归并排序

归并排序

两数之和

两数之和

买卖股票的最佳时机 II

买卖股票的最佳时机 II

第 1 条附言  ·  347 天前
目前 iPad 适配正在开发中,界面结构做了调整,放出来给大家预览下,欢迎提意见哈





第 2 条附言  ·  330 天前

iPad分屏适配已经完成,更新至 2.0.0 即可,支持分屏展示动画和代码 /题目 /解析!同时支持横屏和竖屏!

2.0.0版本即日起所有内购项目0元秒杀,活动时间到2023-05-06截止!欢迎大家下载使用!

137 条回复    2023-12-16 19:23:06 +08:00
1  2  
hackpro
    1
hackpro  
   2023-02-14 02:41:15 +08:00 via iPhone
非常好
好奇这种动画有什么办法批量生成吗
linsen80586
    2
linsen80586  
OP
   2023-02-14 03:24:25 +08:00   ❤️ 4
@hackpro 感谢夸奖,说到动画,一开始确实想过一些通用方案或者简便的方式,都放弃了,为了追求极致的体验,最后还是选择 apple 原生的 core animation 来实现。考虑到学习过程中不想让动画过于酷炫造成干扰,所以动画效果做的尽量克制,不过动画确实还有很多可改进的需要反复打磨。
eggt
    3
eggt  
   2023-02-14 08:33:38 +08:00
赞一个,想问下这个动画是纯自己设计的吗?
jorneyr
    4
jorneyr  
   2023-02-14 10:02:55 +08:00
已白嫖。
linsen80586
    5
linsen80586  
OP
   2023-02-14 10:06:05 +08:00   ❤️ 1
@eggt 视觉上参考了一些算法书,尽量和大家的认知一致。动画基本都是自己想象。
garibellee
    6
garibellee  
   2023-02-14 10:33:35 +08:00
希望能坚持学下来
OliverDD
    7
OliverDD  
   2023-02-14 10:36:17 +08:00 via iPhone
非常感谢😁
lockheart
    8
lockheart  
   2023-02-14 10:48:29 +08:00 via iPhone
感谢开发者
chasel0720
    9
chasel0720  
   2023-02-14 11:01:56 +08:00
感谢分享
kite12580
    10
kite12580  
   2023-02-14 12:55:21 +08:00   ❤️ 1
感谢分享,给个建议,代码页用代码块或者等宽字体吧
8629
    11
8629  
   2023-02-14 13:52:09 +08:00
非常好
linsen80586
    12
linsen80586  
OP
   2023-02-14 14:08:01 +08:00
@kite12580 建议很好,这里确实应该换个字体,回头试下看看,感谢支持!
kamto
    13
kamto  
   2023-02-14 14:23:46 +08:00
感谢分享,上下班路上再细品
maemolee
    14
maemolee  
   2023-02-14 16:28:52 +08:00
感谢分享,太厉害了
RyougiShiki
    15
RyougiShiki  
   2023-02-14 16:34:58 +08:00
没广告挺好
linsen80586
    16
linsen80586  
OP
   2023-02-14 20:41:23 +08:00
@RyougiShiki 干扰学习的统统不要
linsen80586
    17
linsen80586  
OP
   2023-02-14 21:03:46 +08:00
@jorneyr 觉得不错给个 5 星哦
tangtangxin
    18
tangtangxin  
   2023-02-14 21:25:27 +08:00
感谢楼主,已经拥有!
justin2018
    19
justin2018  
   2023-02-14 21:28:34 +08:00
厉害呀 666
ian511
    20
ian511  
   2023-02-14 21:53:07 +08:00
好像没有侧边滑动返回,这个能加一下么
linsen80586
    21
linsen80586  
OP
   2023-02-15 01:00:34 +08:00
@ian511 有的呀,是不是上下滚动的时候不能侧滑?
linsen80586
    22
linsen80586  
OP
   2023-02-15 01:01:06 +08:00
@garibellee 加油
linsen80586
    23
linsen80586  
OP
   2023-02-15 01:02:02 +08:00   ❤️ 1
@kite12580 刚把代码提交了,下个版本就能看到
thinkwei2012
    24
thinkwei2012  
   2023-02-15 10:24:47 +08:00
赞一个,已白嫖
sktline
    25
sktline  
   2023-02-15 14:18:04 +08:00
楼主请问有 Android 版本吗?
zhwithsweet
    26
zhwithsweet  
   2023-02-15 16:34:39 +08:00
logo 可以重新设计下,个人感觉有点粗糙
linsen80586
    27
linsen80586  
OP
   2023-02-15 19:51:57 +08:00
@sktline 目前没有这个计划
linsen80586
    28
linsen80586  
OP
   2023-02-15 23:28:11 +08:00
@zhwithsweet 哈哈,确实没有设计师,被你看出来了
easymbol
    29
easymbol  
   2023-02-16 08:38:34 +08:00
下载了,并且分享给同事了,大赞
linsen80586
    30
linsen80586  
OP
   2023-02-16 12:32:36 +08:00
@easymbol 感谢支持,觉得不错给个 5 星哦
Ryanel
    31
Ryanel  
   2023-02-16 13:13:16 +08:00
感谢 op ,已下载已分享
linsen80586
    32
linsen80586  
OP
   2023-02-16 21:57:01 +08:00
@easymbol 感谢夸奖,多提意见哈
duanquanwu
    33
duanquanwu  
   2023-02-17 10:19:02 +08:00   ❤️ 1
已卸载《算法动画图解》

算法动画图解:艹,把我卷起来了
Highlight1024
    34
Highlight1024  
   2023-02-17 17:18:17 +08:00
牛的牛的
tangtangxin
    35
tangtangxin  
   2023-02-17 20:04:48 +08:00
@duanquanwu 笑死,有画面了。。
neochen13
    36
neochen13  
   2023-02-18 13:46:17 +08:00 via Android
看起来非常棒,请问有安卓版本吗?或者 macos 版本也行
linsen80586
    37
linsen80586  
OP
   2023-02-18 17:13:42 +08:00
@neochen13 你好,m 系列的 mac 可以支持,安卓版现在还没有。
linsen80586
    38
linsen80586  
OP
   2023-02-18 17:15:24 +08:00
@duanquanwu 哈哈哈,笑死
linsen80586
    39
linsen80586  
OP
   2023-02-19 01:02:13 +08:00
感谢大家支持!后面 0 元秒杀会限时,大家抓紧 0 元购买哦!
Midia
    40
Midia  
   2023-02-19 19:06:25 +08:00
支持多语言吗
linsen80586
    41
linsen80586  
OP
   2023-02-19 20:49:09 +08:00
@Midia 想做,但短期没精力弄,很多待办了。。。
tangtangxin
    42
tangtangxin  
   2023-02-19 20:51:47 +08:00
用了几天,确实很好用,效率明显提高了,感谢楼主分享!
linsen80586
    43
linsen80586  
OP
   2023-02-21 21:43:55 +08:00
@tangtangxin 感谢支持,欢迎提意见
linsen80586
    44
linsen80586  
OP
   2023-02-23 01:14:47 +08:00
@kamto 欢迎使用
linsen80586
    45
linsen80586  
OP
   2023-02-26 21:26:13 +08:00
@tangtangxin 可以更新最新版本了
linsen80586
    46
linsen80586  
OP
   2023-03-02 23:59:30 +08:00
最新 1.2.3 版本欢迎大家试用
tangtangxin
    47
tangtangxin  
   2023-03-07 21:30:24 +08:00
求更 codetop 前 300 的题目,很需要哈~
linsen80586
    48
linsen80586  
OP
   2023-03-08 15:38:17 +08:00
@tangtangxin 应该已经是有一些是 codetop 里的了
linsen80586
    49
linsen80586  
OP
   347 天前
目前 ipad 版本正在开发中哦
tangtangxin
    50
tangtangxin  
   347 天前
@linsen80586 期待哦,什么时候能完成?
linsen80586
    51
linsen80586  
OP
   347 天前
@tangtangxin 目前先优先做 ipad 适配呢
muchenlou
    52
muchenlou  
   346 天前 via iPhone
已白嫖
FLynnCPP
    53
FLynnCPP  
   346 天前 via iPhone
好东西,发现一个笔误:贪心是局部最优并且全局最优,动态规划是局部最优不一定全局最优。

然后提个小建议:下滑的时候,动画部分可以锁定,这样便于一边看动画,一边看解释
ginakira
    54
ginakira  
   346 天前
来晚了,不过 App 好评
cssk
    55
cssk  
   346 天前 via iPhone
明明设置里有英文,实际却只有简体中文
lyusantu
    56
lyusantu  
   346 天前
代码要是支持语言切换就好了
kuyuzhiqi
    57
kuyuzhiqi  
   346 天前 via iPhone
已下载
yukunZhan9
    58
yukunZhan9  
   346 天前
零元购已经结束了吗?/(ㄒoㄒ)/~~
8355
    59
8355  
   346 天前
接着卷啊你们 玩个手机都要开始刷算法了😭😭😭😭
fsdrw08
    60
fsdrw08  
   346 天前 via Android
能搞个安卓的吗
hugo2lee
    61
hugo2lee  
   346 天前
下波 0 元秒杀还有吗
weishao666
    62
weishao666  
   346 天前 via iPhone
向大佬致敬
linsen80586
    63
linsen80586  
OP
   346 天前
@fsdrw08 你好,目前没有规划安卓,不过现在可以支持 m 系列 mac 呢
linsen80586
    64
linsen80586  
OP
   346 天前
@hugo2lee 计划 ipad 适配完成后会再搞一波
linsen80586
    65
linsen80586  
OP
   346 天前
@FLynnCPP 感谢提醒。建议很好,回头仔细想下交互。
mcnultytrek
    66
mcnultytrek  
   346 天前
@linsen80586 期待一波~
ShuangChenyue
    67
ShuangChenyue  
   346 天前
已经结束了吗 没赶上啊
shewhen
    68
shewhen  
   345 天前
期待
lanlan2020
    69
lanlan2020  
   345 天前
好东西,支持
celo
    70
celo  
   345 天前
好东西,支持
Tamamopoi
    71
Tamamopoi  
   345 天前
没有 IOS 设备,总之后排支持
sdwgyzyxy
    72
sdwgyzyxy  
   345 天前
虽然没有 IOS 设备,但是我也装了一个。
jzjjzj
    73
jzjjzj  
   345 天前
外行看了 能学懂吗 😄
linsen80586
    74
linsen80586  
OP
   345 天前   ❤️ 1
@ShuangChenyue 下次大版本支持 iPad 分屏模式,会再来一波
linsen80586
    75
linsen80586  
OP
   345 天前
@jzjjzj 可以尝试从排序算法开始入门试试,欢迎提建议哈
abujj
    76
abujj  
   345 天前
@linsen80586 ios 13.7 闪退
fresco
    77
fresco  
   344 天前 via iPhone
已下载 先学学简单的
blankmiss
    78
blankmiss  
   344 天前
8$ 有点小贵哦
xuminke
    79
xuminke  
   344 天前
Intel MAC 不支持....泪奔
air00dd
    80
air00dd  
   342 天前
55 题 8 美元是不是另外的?动画是免费的?
Wilbur4real
    81
Wilbur4real  
   342 天前
从没了解过算法,刚刚体验了一下,非常直观,感谢!
worldqiuzhi
    82
worldqiuzhi  
   342 天前
这种学习类的内容 不太适合放到 APP 上使用
debuggeeker
    83
debuggeeker  
   342 天前
已安装
rzdCG
    84
rzdCG  
   340 天前
要是有 android 版本就好了
Aloento
    85
Aloento  
   338 天前
感谢
vHypnos
    86
vHypnos  
   338 天前
感谢,东西是不错,就是用 iOS 的小屏幕学算法有点难受,更愿意在电脑上,最差 ipad 上操作。
mameng
    87
mameng  
   338 天前
建议出网页版,手机屏幕太小了 使用不爽
declandragon
    88
declandragon  
   338 天前
期待安卓版,非常感谢
cwei3790
    89
cwei3790  
   338 天前
感谢,还有秒杀活动吗🤣
linsen80586
    90
linsen80586  
OP
   338 天前
@cwei3790 目前已经历史最低了哈,秒杀等大版本更新的时候会再来一波
koto
    91
koto  
   337 天前
thanks
linsen80586
    92
linsen80586  
OP
   337 天前
@mameng ipad 版本正在适配中,会爽很多哈
hammy
    93
hammy  
   337 天前
试试
tangtangxin
    94
tangtangxin  
   337 天前
大佬 ipad 适配完成了吗?
SWBMESSI
    95
SWBMESSI  
   336 天前
@linsen80586 intel 的可以也支持一下吗
MineFreeman
    96
MineFreeman  
   336 天前
感谢楼主,体验很棒,回头再冲个困难模式,想提个建议,希望能在每个题目里介绍一些相关的使用场景(或者是使用场合?)感觉那会更好的帮助理解?
SeeYouNextTime
    97
SeeYouNextTime  
   336 天前
好厉害👍!
findex
    98
findex  
   332 天前 via iPhone
很好很不错
neochen13
    99
neochen13  
   331 天前 via Android
看着真的好棒,请问有安卓版吗?
linsen80586
    100
linsen80586  
OP
   331 天前
@neochen13 目前还没有做安卓版呢,目前除支持 iphone ,ipad 还支持 m 芯片的 mac
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1332 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 17:44 · PVG 01:44 · LAX 10:44 · JFK 13:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.