我构建了一个 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 刷题有帮助,请给仓库点个 ⭐,并在评论中分享你的功能想法!

Back to Blog

相关文章

阅读更多 »