我构建了一个 LeetCode CLI,能够跟踪你的解题时间并保存解答版本
发布: (2026年1月14日 GMT+8 02:53)
3 min read
原文: Dev.to
Source: Dev.to
问题描述
如果你曾经在 LeetCode 上刷题,你一定体会过以下痛点:
- 在浏览器和编辑器之间来回切换
- 无法记录每道题实际花费的时间
- 在优化后找不到之前的暴力解法
- 没有计时器来模拟真实面试的压力
我通过构建 leetcode‑cli 解决了这些问题——一个完整的 LeetCode 工作流,全部在终端中运行。
功能
CLI 命令
# 列出题目(按难度过滤)
leetcode list -d medium
# 查看题目
leetcode show 1
# 生成解答文件
leetcode pick 1
# 本地测试
leetcode test 1
# 提交到 LeetCode
leetcode submit 1
文件组织结构
leetcode/
├── Easy/
│ └── Array/
│ └── 1.two-sum.java
└── Medium/
└── String/
└── 3.longest-substring.java
计时器
# 默认计时(Easy: 20 分钟,Medium: 40 分钟,Hard: 60 分钟)
leetcode timer 1
# 自定义计时(30 分钟)
leetcode timer 1 -m 30
# 查看解题时间历史
leetcode timer --stats
计时器会记录每一次会话,帮助你在数周内衡量进步。
快照
# 保存一个版本
leetcode snapshot save 1 "brute-force"
# ...优化你的解法...
leetcode snapshot save 1 "optimized"
# 对比两个快照
leetcode snapshot diff 1 1 2
# 恢复之前的版本
leetcode snapshot restore 1 brute-force
再也不会丢失可用的解法。
协作
# 人员 1 创建房间
leetcode collab host 1 # → 房间码: ABC123
# 人员 2 加入
leetcode collab join ABC123
# 双方解题后对比
leetcode collab compare
非常适合和朋友进行模拟面试。
工作区
# 创建独立的上下文
leetcode workspace create interview -w ~/lc-interview
leetcode workspace create daily -w ~/lc-daily
# 切换到某个工作区
leetcode workspace use interview
每个工作区都有独立的配置、计时历史和快照。
GitHub 同步
# 设置远程仓库
leetcode config --repo https://github.com/you/leetcode-solutions.git
# 推送本地更改
leetcode sync
安装
# 通过 npm
npm install -g @night-slayer18/leetcode-cli
或使用 Docker:
docker pull nightslayer/leetcode-cli:latest
快速开始
# 登录(粘贴你的 LeetCode cookies)
leetcode login
# 获取今日挑战
leetcode daily
# 开始解题 #1
leetcode pick 1
资源
- GitHub:
- npm:
- 文档:
如果这对你的 LeetCode 刷题有帮助,请给仓库点个 ⭐,并在评论中分享你的功能想法!