LeetCode题目抓取器Skill leetcode-problem-fetcher

LeetCode题目抓取器是一个专门用于获取和解析LeetCode算法题目的工具,支持题目检索、元数据提取、内容解析和用户数据访问。该技能集成了LeetCode API,能够获取完整的题目描述、约束条件、示例、难度评级、标签、相关题目和代码模板,适用于算法学习、面试准备、竞赛编程和自动化测试。关键词:LeetCode题目抓取、算法题库、编程面试准备、竞赛编程工具、API集成、题目解析、代码模板、难度评级、元数据提取、自动化测试。

其他 0 次安装 0 次浏览 更新于 2/23/2026

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提取全面的题目数据,包括:

  • 题目描述和说明
  • 输入/输出约束和格式
  • 测试用例和隐藏约束
  • 题目难度、标签和通过率
  • 相关题目和模式标签
  • 提示和解题方法

功能

核心特性

  1. 题目检索

    • 通过标题slug(URL友好名称)获取题目
    • 获取每日挑战题目
    • 按类别、标签、难度或关键词搜索题目
    • 访问付费题目的替代方案(如可用)
  2. 元数据提取

    • 难度级别(简单、中等、困难)
    • 通过率和提交统计
    • 题目标签和类别
    • 相关题目和相似问题
    • 公司标签(如可用)
  3. 内容解析

    • Markdown格式的题目描述
    • 带解释的输入/输出示例
    • 约束条件和边界情况
    • 后续问题和优化
    • 多种语言的代码模板
  4. 用户数据访问

    • 用户个人资料和统计信息
    • 竞赛排名和历史记录
    • 提交历史记录和解决方案
    • 跨题目集的进度跟踪

集成选项

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+其他在线评测系统解析题目:

使用方法

获取题目

# 使用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面试准备

参考资料

错误处理

错误 原因 解决方案
PROBLEM_NOT_FOUND 无效的titleSlug 验证题目URL或slug
RATE_LIMITED 请求过多 实现指数退避
AUTH_REQUIRED 付费题目 使用替代方案或进行身份验证
NETWORK_ERROR 连接失败 检查网络,使用退避重试

最佳实践

  1. 缓存:缓存题目数据以减少API调用
  2. 速率限制:尊重LeetCode的速率限制(在请求之间使用延迟)
  3. 错误处理:优雅地处理付费/锁定题目
  4. 离线模式:存储获取的题目以供离线练习
  5. 数据新鲜度:定期重新获取以更新统计信息