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

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

  •  8
     
  •   linsen80586 · 114 天前 · 13824 次点击
    这是一个创建于 114 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    归并排序

    归并排序

    两数之和

    两数之和

    买卖股票的最佳时机 II

    买卖股票的最佳时机 II

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





    第 2 条附言  ·  35 天前

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

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

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

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

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