LeetCode 算法面试私教
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_7d145ca4/interactive-algorithm-html-tutor。
技能介绍
先解决什么问题
刷算法题时最常见的困境是"看得懂题解,讲不出思路"。一份静态题解只告诉你最终答案,却不展示变量在每一步如何变化、优化是怎么从暴力思路自然推导出来的,更不会问你"这一步之后发生了什么"。结果题目换了外壳,思路依然无法迁移。
这个技能针对的就是这段空白:把 LeetCode 题目、GitHub / GitCode 仓库中的代码片段或用户提供的算法题内容,转换成一个单文件、可直接在浏览器打开的交互式学习页面。它不是把题解重新排版,而是围绕"理解—推演—复现—表达—自测"的学习闭环重新组织内容,让用户跟着动画一步步把算法走通,并最终自己讲清楚。
技能如何工作
输出为单文件 index.html,HTML / CSS / JavaScript 全部内联,不依赖后端服务,也不调用需要 token 或 API Key 的接口。
教学主线
- 理解题意:用白话讲清题目要解决什么、关键约束和容易误解的点,而不是照抄官方题面。
- 从暴力到优化:先讲最自然的暴力思路,再说明它为什么不够、哪些计算被重复了,然后自然引出更好的方法,而不是直接扔最终代码。
- 核心洞察:用直观语言解释方法为什么成立,例如滑动窗口为什么可以移动、二分为什么依赖单调性、DP 的状态和转移分别代表什么。
- 动态演示:动画由 JavaScript 状态驱动,支持
下一步、上一步、自动播放、暂停、重置、切换示例输入,并同步展示当前变量、数据结构与高亮的代码行。 - 代码对照:默认展示带中文注释的 Python 解法,行号可点击查看解释,动画运行时对应行高亮,并标出容易写错的边界条件。
- 面试表达:给出一段自然的讲题话术,先讲暴力、再讲优化、最后讲复杂度与边界 case。
- 自测与复盘:内置 3–5 个交互问题和 5–8 个测试样例,
actual由页面中的推荐解法实时计算,而不是手写假结果。
页面会根据题型选择可视化方式:双指针展示指针与区间,二分展示搜索区间收缩,DP 展示填表顺序,回溯展示选择与撤销。内容以 LeetCode 官方题面为准,且不会复制题解原文。
适用边界与注意点
- 输出是一个教学页面,不是在线判题工具,也不替代真正的刷题与手写练习。
- 页面为中文教学,视觉风格偏轻量现代,面向桌面浏览器,不承诺移动端适配。
- 如果用户提供的原始代码与主流推荐解法不同,页面会简洁说明两者思路差异,以及面试中更适合讲哪一种。
- 选题时优先聚焦最核心的算法逻辑,题目简单则页面更短,不会机械堆砌模块。
使用场景
- 拿到一道LeetCode题,想做成一个动画网页来理解解法思路
- 把GitHub仓库里的算法代码转成一个带交互演示的学习页面
- 准备算法面试,想把一道题的完整推演过程讲清楚
- 用代码片段生成一个能逐步推演算法的单文件网页
适合人员
- 准备大厂算法面试、希望把每道题的推演和表达打磨清楚的考生
- 维护开源算法仓库、希望给题目配上交互式可视化的开发者
- 教授数据结构课程、需要为每个算法演示制作动画页面的老师
- 想直观理解LeetCode解法、不满足于静态题解的编程学习者