macOSv0.19.4
练算法,也练工程。
把一切留在本地。
用 JavaScript、TypeScript 或 Python 刷力扣风格的算法题,再做工程实战:按并发度、延迟和代码质量打分的多关卡项目。全程跑在你自己的机器上。
免费且开源macOSWindowsLinux
两数之和简单 · 数组 · 哈希表
有效的括号简单 · 字符串 · 栈
合并两个有序链表简单 · 链表
二叉树的中序遍历中等 · 树 · 栈
前 K 个高频元素中等 · 堆
28 道题目
TS two-sum.ts ×
1 function twoSum(nums: number[], target: number) {
2 const map = new Map<number, number>();
3
4 for (let i = 0; i < nums.length; i++) {
5 const complement = target - nums[i];
6 if (map.has(complement)) {
7 return [map.get(complement)!, i];
8 }
9 map.set(nums[i], i);
10 }
11 return [];
12 }
测试控制台
测试用例 1✓
测试用例 2✓
测试用例 3✓
nums = [2,7,11,15], target = 9
输出 [0,1] 通过一次练习是
怎么进行的。
两种练法:算法题,或者多关卡的工程项目。
- 01
选一道算法题,或一个工程项目
算法题可按主题和难度筛选,工程项目分多个关卡。
- 02
在真正的编辑器里写代码
Monaco 编辑器;工程项目还带完整的文件树。
- 03
在本机跑测试
每个测试用例都通过 WASM 在本机执行。
- 04
看评分结果
算法题看用例结果;工程题还要看并发度、延迟和代码质量。
function solve(input) {
// 你的思路留在本地
return result;
}
// 你的思路留在本地
return result;
}
测试用例 1通过 ✓
测试用例 2通过 ✓
已解决12/28
继续保持。
最近 12 周
少 多
工程实战:
一关一关把系统搭起来。
每个工程项目都是一个多文件工作区,一次通一关。隐藏用例检查功能对不对,指标门槛检查跑起来什么表现——峰值并发、耗时、重试次数、重复请求,静态分析再看一遍代码本身。
- 高可用抓取管线并发池、指数退避、缓存单飞、取消
- 事件驱动的订单流水线事件总线、洋葱中间件、幂等、死信队列
- 有韧性的 API 网关令牌桶、熔断器、超时预算
1. 打通契约2. 有上限的并发3. 重试退避4. 缓存去重5. 收敛为组件
contract.tsfetcher.tspool.ts
export async function mapWithConcurrency(items, limit, worker) {
const results = new Array(items.length);
const size = Math.min(limit, items.length);
// 每个槽位一个取号式的 worker
await Promise.all(runners);
return results;
}
const results = new Array(items.length);
const size = Math.min(limit, items.length);
// 每个槽位一个取号式的 worker
await Promise.all(runners);
return results;
}
本关通过10/10 个用例100
- 峰值并发不超过 44 / 4
- 不被下游限流0 / 0
- 12 个请求 300ms 内跑完300ms / 300ms
生成
从一个主题到一道完整题目。
提问
在解题过程中获得上下文提示。
对比
对比多种解法和它们的复杂度取舍。
需要时用 AI。
不需要时只管专注。
生成新题、获取提示、对比解法。可以接入 DeepSeek、OpenAI、Claude、通义千问,以及任意 OpenAI 兼容端点(本地或远程),也可以用 Ollama 或 LM Studio 全部跑在自己机器上,或者完全不用。
查看 AI 配置说明 →当前题目
两数之和
返回数组中和等于目标值的两个数字的下标。
const complement = target - nums[i];你的问题
给我一个提示,但不要直接说出完整答案。
想一想:只遍历数组一次时,你需要记住哪些信息?
下一步可以尝试记录每个值及其下标,再寻找它的补数。
三种语言,
一个本地运行时。
JavaScript浏览器原生执行
TypeScript实时转译
Python通过 Pyodide 运行 CPython
无需账号,没有遥测;练习记录留在你的设备上。
下载 AlgoLocal。
免费开源,支持 macOS、Windows 和 Linux。
Windowsv0.19.4
Linuxv0.19.4
macOS 首次打开。安装包使用 ad-hoc 签名,没有 Apple Developer ID 证书,macOS 会提示无法验证开发者。
- 在「应用程序」中打开 AlgoLocal,在提示框点「完成」。
- 进入 系统设置 → 隐私与安全性,下拉到「安全性」,点 仍要打开。