Tip 1. 原样粘贴你的算法解答
把你的解答代码连同函数一起粘贴进来即可。注释没问题,参数会自动识别。填入输入值后点击运行。
输入示例
// 将数组按升序排序并返回
//
// 解题思路
// 比较相邻两个元素,将较大的元素往后移。
// 每完成一轮,最大值就固定到末尾。
// 时间复杂度: O(n^2)
function bubbleSort(arr) {
const n = arr.length;
for (let i = 0; i < n - 1; i++) {
for (let j = 0; j < n - 1 - i; j++) {
// 如果前面更大则交换
if (arr[j] > arr[j + 1]) {
const temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}实时预览
试试按下按钮。在实际应用中,你可以修改输入值。
Tip 2. 没有函数的纯代码也可以
没有外层函数包裹的代码也能正常运行。无需参数输入,直接点击 ▶ 运行即可。
const arr = [5, 3, 8, 1, 2];
let total = 0;
for (let i = 0; i < arr.length; i++) {
total += arr[i];
}
console.log(total);Tip 3. 嵌入到博客或 Notion
你可以把执行视图嵌入到博客、Notion、Obsidian,或任何支持 iframe 的地方。点击执行视图顶部的 Embed 按钮即可复制 iframe 代码。还可以调整高度,在 Notion 中只需使用 /embed 并粘贴 URL 即可。
<iframe src="https://recursive.oilater.com/embed?preset=bubble-sort" width="100%" height="600" style="border:none;border-radius:8px;" />
Tip 4. 支持 Python 和 JavaScript
- Python 可自由使用标准库(collections、functools、itertools 等)。
- JavaScript / TypeScript 类型会自动剥离。Math、JSON、Array 方法等内置 API 全部可用。
Tip 5. 尚不支持
- 暂不支持异步代码(setTimeout、Promise、async/await)。
- 暂不支持 JavaScript 的 class 语法。
- Python 仅支持标准库。不支持 numpy、pandas 等。
- 输入过大可能导致执行中断。请保持测试规模合理。
- Java、C、C++ 等语言无法直接在浏览器中运行,需要单独的服务器。由于该项目目前在无服务器环境下运行,因此暂不支持这些语言。
- 不支持多行输入(例如算法竞赛网站那种 stdin 形式的输入)。值只能通过函数参数传递。
Tip 6. 我们随时欢迎反馈
随时欢迎功能建议和 bug 反馈。请到 GitHub Issues 留言。也欢迎直接通过 PR 贡献代码。
更新日志
我们根据 GitHub Issues 持续改进功能。查看所有 issues →
- 将函数调用可视化为栈帧
- 递归调用树支持鼠标拖拽平移
- 支持 Python
- 支持嵌入(博客、Notion、Obsidian 等)
- 支持 i18n(韩语 / 英语)
- 新增文档页面