没事刷刷算法题: leetcode
使用本项目在本地环境刷 OJ 题目有如下好处:
- 更习惯,使用自己平时开发写代码的编辑器/IDE。
- 更高效和规范,可以有语法提示和自动格式化
- 容易调试,本地断点调试方便
- 本地测试用例,方便快速测试多个用例,避免在 OJ 平台多次错误提交
- 可以测试对比多个算法耗时
- 可离线做题,将做题记录同步到 git
npm install
自动生成新题目的文件目录,根据模板生成相应文件,并在 readme 插入一条相关的信息。
./crepro.sh 999-template-test Easy
# ./crepro.sh {题目序号}-{题目(-分隔单词)} {题目难度}
PS:目前还需要手动 copy 一下题目内容和测试用例到本地,并导出函数,后续考虑通过自动化爬虫抓取。
使用 mocha + chai + benchmark 来测试算法准确性和性能。
// 测试题号001,传入n=001,返回测试结果
n=001 npm test
// 返回测试结果,包括算法性能
n=001 npm run perf
npm test
// 测试是否通过并且计算所有算法的性能,比较耗时
npm run perf
npm run debug
const { mapLinks, mapTree } = require('../../utils/map');
完成的算法题列表,当前仅有 JavaScript 的解法。