刷 LeetCode 看不懂题解?我做了一个能"播放"算法的开源可视化平台

凌晨一点,屏幕上还亮着那道动态规划。题解翻来覆去看了三遍------每个字都认识,连起来就是不知道它在干什么。状态怎么转移的?这个 dp[i][j] 到底是从哪来的?脑子里全是问号。

说实话,我也是这么过来的。 不是那种一眼就能看穿算法本质的大佬,每次刷题都卡在"题解看懂了字,却没真正看懂思路"这一步。后来我尝试用 AI 帮自己拆解推理过程,发现有帮助,但光靠文字还是不够------我需要亲眼看到每一步到底发生了什么。

于是就有了 Bare Algo(朴素算法) 。这是一个开源的交互式算法可视化平台,把算法的每一步推演变成可以播放、暂停、步进、拖拽的逐帧动画。DP 状态怎么填表、BFS 怎么一层层扩散、回溯在哪里剪枝------不用脑补了,按下播放键,看着它一帧帧跑给你看。


🚀 立即体验(欢迎 Star ⭐)

👉 在线访问barealgo.com

GitHub 仓库Harvey-Andrew/bare-algorithm


为什么它值得关注?

Bare Algo 覆盖了 23 个算法分类------数组、链表、二叉树、图论、动态规划、位运算、单调栈、线段树、并查集......几乎满足从入门到进阶的全部刷题需求。更重要的是,它不仅教你"怎么做",还通过真实业务 Demo(如账号合并检测、课程依赖分析)展示算法在实际场景中的应用,帮助你真正将算法思维内化为工程能力。

✨ 三大核心亮点

  • 🎬 逐帧可视化播放器 --- 支持多倍速(0.5x--4x)、进度拖拽、代码同步高亮,播放到哪一帧,对应代码行自动亮起,帧消息实时更新,彻底告别"不知道执行到哪了"。

  • 🔀 多解法一键对比 --- 同一道题(如岛屿数量)支持 DFS / BFS / 并查集等多种模式一键切换,直观对比不同算法的思路差异与时空复杂度表现。

  • 📱 全平台响应式体验 --- 移动端竖屏悬浮条 + 抽屉、桌面端 7:5 双栏布局,配合自动缩放容器 ScaleToFit,无论手机还是大屏都能流畅使用。

🗺️ 项目架构一览

graph LR A["📝 AlgorithmConfig
算法配置"] --> B["⚙️ generateFrames()
帧生成函数"] B --> C["🎞️ Frame[]
快照序列"] C --> D["🖥️ GenericVisualizer
通用渲染引擎"] D --> E["▶️ 交互式播放器
播放/暂停/步进/拖拽"] style A fill:#4f46e5,color:#fff,stroke:none style B fill:#7c3aed,color:#fff,stroke:none style C fill:#a855f7,color:#fff,stroke:none style D fill:#c084fc,color:#fff,stroke:none style E fill:#e879f9,color:#fff,stroke:none

每个算法都是一个自包含模块 ,只需定义配置、帧生成逻辑和渲染组件,即可无缝接入平台------这也意味着任何人都可以轻松贡献新题目。

如果你也认同"看动画学算法"这件事,欢迎提 PR 贡献新题目,或在讨论区分享你的解题思路。 你的每一次参与,都在帮助更多人跨过算法这道门槛。

"算法不该只是面试的门槛,它应该被所有人看见和理解。"

相关推荐
thatway198920 小时前
闲聊-关于AI终结者的警醒
前端
努力的小郑21 小时前
突发!Claude Code 51万行源码全网裸奔:一场史诗级“开源”事故,国内大厂笑麻了
前端·后端·ai编程
七度黑光21 小时前
用 openclaw 给故障复盘打分:质量审核自动化实践
运维·服务器·前端·数据库·自动化
HashTang21 小时前
Claude Code 源码中 REPL.tsx 深度解析:一个 5005 行 React 组件的架构启示
前端·后端·ai编程
阿豪学编程21 小时前
LeetCode724.:寻找数组的中心下标
算法·leetcode
wendycwb1 天前
前端城市地址根据最后一级倒推,获取各层级id的方法
前端·vue.js·typescript
墨韵流芳1 天前
CCF-CSP第41次认证第三题——进程通信
c++·人工智能·算法·机器学习·csp·ccf
终端鹿1 天前
Vue3 模板引用 (ref):操作 DOM 与子组件实例 从入门到精通
前端·javascript·vue.js
千寻girling1 天前
不知道 Java 全栈 + AI 编程有没有搞头 ?
前端·人工智能·后端
csdn_aspnet1 天前
C# 求n边凸多边形的对角线数量(Find number of diagonals in n sided convex polygon)
开发语言·算法·c#