name: leetcode-problem-fetcher description: 获取并解析LeetCode题目,包含元数据、约束条件、示例、提示、难度评级和相关题目。集成LeetCode API以获取全面的题目数据。 allowed-tools: Bash, Read, Write, WebFetch, WebSearch metadata: author: babysitter-sdk version: “1.0” category: algorithms-optimization skill-id: SK-ALGO-001 priority: high
LeetCode题目抓取器
一个专门用于获取和解析LeetCode题目的技能,包含完整的元数据,适用于竞赛编程练习、面试准备和算法学习工作流。
目的
从LeetCode提取全面的题目数据,包括:
- 题目描述和说明
- 输入/输出约束和格式
- 测试用例和隐藏约束
- 题目难度、标签和通过率
- 相关题目和模式标签
- 提示和解题方法
功能
核心特性
-
题目检索
- 通过标题slug(URL友好名称)获取题目
- 获取每日挑战题目
- 按类别、标签、难度或关键词搜索题目
- 访问付费题目的替代方案(如可用)
-
元数据提取
- 难度级别(简单、中等、困难)
- 通过率和提交统计
- 题目标签和类别
- 相关题目和相似问题
- 公司标签(如可用)
-
内容解析
- Markdown格式的题目描述
- 带解释的输入/输出示例
- 约束条件和边界情况
- 后续问题和优化
- 多种语言的代码模板
-
用户数据访问
- 用户个人资料和统计信息
- 竞赛排名和历史记录
- 提交历史记录和解决方案
- 跨题目集的进度跟踪
集成选项
MCP服务器(推荐)
# 安装jinzcdev的LeetCode MCP服务器
claude mcp add-json "leetcode" '{"type":"stdio","command":"npx","args":["-y","@jinzcdev/leetcode-mcp-server","--site","global"]}'
可用的MCP工具:
get_daily_challenge- 获取每日LeetCode挑战get_problem- 通过titleSlug检索题目search_problems- 按类别、标签、难度、关键词筛选get_user_profile- 访问用户数据get_user_contest_ranking- 跟踪竞赛表现
直接API集成
// LeetCode的GraphQL端点
const LEETCODE_GRAPHQL = 'https://leetcode.com/graphql';
// 题目详情查询
const problemQuery = `
query getProblem($titleSlug: String!) {
question(titleSlug: $titleSlug) {
questionId
title
titleSlug
content
difficulty
topicTags { name slug }
hints
sampleTestCase
codeSnippets { lang code }
stats
}
}
`;
浏览器扩展
Competitive Companion - 从LeetCode和115+其他在线评测系统解析题目:
- Chrome: competitive-companion
- Firefox: competitive-companion
使用方法
获取题目
# 使用MCP服务器
leetcode get_problem --titleSlug "two-sum"
# 输出包括:
# - 题目标题和描述
# - 难度和通过率
# - 主题标签
# - 示例和约束
# - 代码模板
搜索题目
# 按难度和标签搜索
leetcode search_problems --difficulty MEDIUM --tags "dynamic-programming,array"
# 按关键词搜索
leetcode search_problems --keyword "substring"
获取每日挑战
# 获取今日每日挑战
leetcode get_daily_challenge
输出模式
{
"problem": {
"id": "string",
"title": "string",
"titleSlug": "string",
"difficulty": "Easy|Medium|Hard",
"acceptanceRate": "number",
"description": "string (markdown)",
"constraints": ["string"],
"examples": [
{
"input": "string",
"output": "string",
"explanation": "string"
}
],
"hints": ["string"],
"topicTags": ["string"],
"similarQuestions": ["string"],
"codeTemplates": {
"python3": "string",
"cpp": "string",
"java": "string"
}
},
"metadata": {
"fetchedAt": "ISO8601 timestamp",
"source": "leetcode.com|leetcode.cn"
}
}
与流程集成
此技能增强了以下流程:
leetcode-problem-solving- 核心解题工作流pattern-recognition- 识别算法模式faang-interview-prep- FAANG面试准备
参考资料
- LeetCode MCP服务器 (jinzcdev)
- LeetCode MCP服务器 (doggybee)
- Competitive Companion
- Competitive Programming Helper (CPH)
错误处理
| 错误 | 原因 | 解决方案 |
|---|---|---|
PROBLEM_NOT_FOUND |
无效的titleSlug | 验证题目URL或slug |
RATE_LIMITED |
请求过多 | 实现指数退避 |
AUTH_REQUIRED |
付费题目 | 使用替代方案或进行身份验证 |
NETWORK_ERROR |
连接失败 | 检查网络,使用退避重试 |
最佳实践
- 缓存:缓存题目数据以减少API调用
- 速率限制:尊重LeetCode的速率限制(在请求之间使用延迟)
- 错误处理:优雅地处理付费/锁定题目
- 离线模式:存储获取的题目以供离线练习
- 数据新鲜度:定期重新获取以更新统计信息