本项目专为计算机专业求职者设计,帮助你从 Python 零基础到能够独立解决 LeetCode 中等难度题目,系统准备企业笔试、机试与技术面试。
- 📚 系统学习路线 — 6 阶段覆盖 Python 基础、算法刷题、ACM 笔试真题、面试手撕与八股文
- 🖥️ 在线练习场 — 内置 98 道 Hot 100 题目,浏览器直接运行 Python
- 🎯 ACM 模拟 IDE — 支持 Python / Go、stdin/stdout、输出对比和 Python 断点调试
- 🤖 AI 刷题助手 — 内置 AI 教练,自动读取题目和代码,给出诊断和提示
- 📝 完整题解 — LeetCode Hot 100 全部题解
- ✅ Python 语言零基础或仅掌握基础语法
- ✅ 准备校招/社招笔试机试
- ✅ 目标通过 LeetCode Medium 难度
建议 12-18 周,每天投入 2-3 小时
想先看演示再开刷,可以直接看这条 B 站视频。
零门槛刷力扣 Hot100!免费在线 OJ + AI 教练,不用登录直接开刷
视频地址:https://www.bilibili.com/video/BV129QmBGE3Q/
这条视频会快速带你了解项目的核心使用方式:
- 浏览器内直接刷 LeetCode Hot 100,不用本地搭环境
- 内置免费在线 OJ,打开页面就能写代码、运行和调试
- AI 教练自动读取当前题目和代码,给出提示、诊断和讲解
- 不用登录,打开即用,适合零基础和面试前集中训练
如果你想先看完整演示,再按仓库里的学习路线系统刷题,建议先看视频,再进入下方的 AI 助手和题单部分。
全栈内置,免费使用,无需配置 — 点击练习场右下角 🤖 按钮即可体验
AI 刷题助手是本项目最核心的特色功能。它会自动读取你当前正在做的题目和编写的代码,然后以教学式方式帮你诊断问题、给出提示,而不是直接给答案。
| 按钮 | 功能 |
|---|---|
| 🔍 帮我看看代码 | 诊断代码错误,指出问题根源 |
| 💡 给个提示 | 不给答案,只给思路方向 |
| 📖 解释题目 | 用通俗语言重新解释题意 |
| 🐛 分析报错 | 根据报错信息定位原因 |
| ✨ 优化代码 | 提供更优解法和改进建议 |
- 打开 在线练习场,选择一道题目
- 点击右下角 🤖 按钮,AI 面板从右侧滑出
- 点击快捷按钮或输入自定义问题
- AI 自动注入当前题目 + 你的代码作为上下文,给出针对性回答
💡 默认免费可用,内置 OpenRouter 免费 API。如需使用自己的 API,点击齿轮图标 ⚙️ 即可配置。
模拟大厂笔试真实环境 — 直接粘贴真题代码,输入测试数据,一键运行
大厂笔试(阿里、美团、华为等)普遍使用 ACM 模式:程序从标准输入读取数据,再把答案写到标准输出,和 LeetCode 的函数式调用完全不同。ACM 模拟 IDE 专为此场景设计。
| 功能 | 说明 |
|---|---|
| 📥 stdin/stdout | Python 与 Go 均可直接读取标准输入并输出结果 |
| 🧩 语言切换 | Python 浏览器内运行,Go 通过官方 Go Playground 在线编译 |
| 📝 输入模板 | 两种语言各有 7 种常用模板(单整数、数组、矩阵、多组用例、图等) |
| ✅ 输出对比 | 填入期望输出,自动判定 ACCEPTED / WRONG ANSWER |
| 🐛 断点调试 | Python 可点击行号设置断点,逐行回放并查看变量变化 |
| 💾 自动保存 | Python / Go 草稿分别保存,切换语言和刷新均不丢失 |
- 打开 ACM 模拟 IDE
- 选择 Python 或 Go,在左侧编辑器编写代码(或从真题文章粘贴)
- 在右侧「输入」区粘贴测试数据
- 点击「运行」或按
Ctrl+Enter执行 - 使用 Python 时可点击「调试」进入逐行回放模式,查看每步变量状态
flowchart TB
subgraph foundation["基础能力"]
direction LR
python["阶段一<br/>Python 基础语法<br/>1-2 周"]
structures["阶段二<br/>数据结构掌握<br/>2-3 周"]
algorithms["阶段三<br/>核心算法突破<br/>3-4 周"]
python --> structures --> algorithms
end
subgraph jobReady["求职实战"]
direction LR
practice["阶段四<br/>LeetCode 实战<br/>2-3 周"]
acm["阶段五<br/>ACM 模式笔试真题<br/>2-3 周"]
interview["阶段六<br/>面试手撕与八股文<br/>2-3 周"]
practice --> acm --> interview
end
foundation --> jobReady
classDef pythonStage fill:#e8f3ff,stroke:#1f6feb,color:#0b1f33,stroke-width:2px
classDef structureStage fill:#eafbf0,stroke:#238636,color:#102a18,stroke-width:2px
classDef algorithmStage fill:#fff4e5,stroke:#b35900,color:#3b2300,stroke-width:2px
classDef practiceStage fill:#f4ecff,stroke:#8250df,color:#27143d,stroke-width:2px
classDef acmStage fill:#ffeef0,stroke:#cf222e,color:#3d0c11,stroke-width:2px
classDef interviewStage fill:#e6fffb,stroke:#0f766e,color:#0f2f2c,stroke-width:2px
class python pythonStage
class structures structureStage
class algorithms algorithmStage
class practice practiceStage
class acm acmStage
class interview interviewStage
| 模块 | 知识点 | 重要程度 |
|---|---|---|
| 变量与类型 | int, float, str, bool, None | ⭐⭐⭐⭐⭐ |
| 控制流 | if/elif/else, for, while, break, continue | ⭐⭐⭐⭐⭐ |
| 函数 | def, 参数, 返回值, lambda, 作用域 | ⭐⭐⭐⭐⭐ |
| 集合类型 | list, dict, set, tuple | ⭐⭐⭐⭐⭐ |
| 面向对象 | class, 继承, __init__, __str__ |
⭐⭐⭐ |
| 数据结构 | 核心操作 | 刷题重点 |
|---|---|---|
| 数组 | 遍历, 双指针, 原地操作 | ⭐⭐⭐⭐⭐ |
| 字符串 | 滑动窗口, 回文判断 | ⭐⭐⭐⭐⭐ |
| 链表 | 指针操作, 虚拟头节点, 反转 | ⭐⭐⭐⭐ |
| 栈/队列 | LIFO/FIFO, 单调栈 | ⭐⭐⭐⭐ |
| 哈希表 | O(1)查找, 去重, 计数 | ⭐⭐⭐⭐⭐ |
| 树 | 前中后序遍历, 层序遍历 | ⭐⭐⭐⭐⭐ |
| 堆 | TopK 问题, 优先队列 | ⭐⭐⭐ |
| 图 | 邻接表, DFS/BFS | ⭐⭐⭐ |
| 算法 | 核心思想 | 难度 |
|---|---|---|
| 排序 | 快排, 归并, 堆排序 | ⭐⭐ |
| 二分查找 | 边界处理, 变体题 | ⭐⭐⭐ |
| 双指针 | 对撞指针, 快慢指针 | ⭐⭐ |
| 滑动窗口 | 动态维护区间 | ⭐⭐⭐ |
| 递归/回溯 | 状态树, 剪枝 | ⭐⭐⭐⭐ |
| BFS/DFS | 层序/深度搜索 | ⭐⭐⭐ |
| 动态规划 | 状态定义, 转移方程 | ⭐⭐⭐⭐⭐ |
| 贪心 | 局部最优→全局最优 | ⭐⭐⭐ |
主攻 LeetCode Hot 100,覆盖面试高频题
进入 大厂笔试机试真题,按公司和岗位限时完成真实题目,并使用 ACM 模拟 IDE 训练标准输入输出、样例验证与现场调试。
进入 大厂面试备战,结合高频手撕代码、计算机基础、岗位八股文和真实面经,训练现场讲解、追问应对与完整面试表达。
点击题号直接跳转 LeetCode 官方练习!
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 1 | 两数之和 | 🟢 Easy | solution |
| 49 | 字母异位词分组 | 🟡 Medium | solution |
| 128 | 最长连续序列 | 🟡 Medium | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 11 | 盛最多水的容器 | 🟡 Medium | solution |
| 15 | 三数之和 | 🟡 Medium | solution |
| 42 | 接雨水 | 🔴 Hard | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 3 | 无重复字符的最长子串 | 🟡 Medium | solution |
| 76 | 最小覆盖子串 | 🔴 Hard | solution |
| 438 | 找到字符串中所有字母异位词 | 🟡 Medium | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 53 | 最大子数组和 | 🟡 Medium | solution |
| 56 | 合并区间 | 🟡 Medium | solution |
| 560 | 和为 K 的子数组 | 🟡 Medium | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 20 | 有效的括号 | 🟢 Easy | solution |
| 155 | 最小栈 | 🟡 Medium | solution |
| 394 | 字符串解码 | 🟡 Medium | solution |
| 739 | 每日温度 | 🟡 Medium | solution |
| 84 | 柱状图中最大的矩形 | 🔴 Hard | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 206 | 反转链表 | 🟢 Easy | solution |
| 21 | 合并两个有序链表 | 🟢 Easy | solution |
| 141 | 环形链表 | 🟢 Easy | solution |
| 142 | 环形链表 II | 🟡 Medium | solution |
| 160 | 相交链表 | 🟢 Easy | solution |
| 19 | 删除链表的倒数第 N 个结点 | 🟡 Medium | solution |
| 24 | 两两交换链表中的节点 | 🟡 Medium | solution |
| 25 | K 个一组翻转链表 | 🔴 Hard | solution |
| 148 | 排序链表 | 🟡 Medium | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 94 | 二叉树的中序遍历 | 🟢 Easy | solution |
| 104 | 二叉树的最大深度 | 🟢 Easy | solution |
| 226 | 翻转二叉树 | 🟢 Easy | solution |
| 101 | 对称二叉树 | 🟢 Easy | solution |
| 543 | 二叉树的直径 | 🟢 Easy | solution |
| 102 | 二叉树的层序遍历 | 🟡 Medium | solution |
| 108 | 将有序数组转换为BST | 🟢 Easy | solution |
| 98 | 验证二叉搜索树 | 🟡 Medium | solution |
| 230 | BST中第K小的元素 | 🟡 Medium | solution |
| 199 | 二叉树的右视图 | 🟡 Medium | solution |
| 114 | 二叉树展开为链表 | 🟡 Medium | solution |
| 105 | 从前序与中序遍历序列构造二叉树 | 🟡 Medium | solution |
| 437 | 路径总和 III | 🟡 Medium | solution |
| 236 | 二叉树的最近公共祖先 | 🟡 Medium | solution |
| 124 | 二叉树中的最大路径和 | 🔴 Hard | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 200 | 岛屿数量 | 🟡 Medium | solution |
| 994 | 腐烂的橘子 | 🟡 Medium | solution |
| 207 | 课程表 | 🟡 Medium | solution |
| 208 | 实现 Trie (前缀树) | 🟡 Medium | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 46 | 全排列 | 🟡 Medium | solution |
| 78 | 子集 | 🟡 Medium | solution |
| 17 | 电话号码的字母组合 | 🟡 Medium | solution |
| 39 | 组合总和 | 🟡 Medium | solution |
| 22 | 括号生成 | 🟡 Medium | solution |
| 79 | 单词搜索 | 🟡 Medium | solution |
| 131 | 分割回文串 | 🟡 Medium | solution |
| 51 | N 皇后 | 🔴 Hard | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 35 | 搜索插入位置 | 🟢 Easy | solution |
| 74 | 搜索二维矩阵 | 🟡 Medium | solution |
| 34 | 在排序数组中查找元素的第一个和最后一个位置 | 🟡 Medium | solution |
| 33 | 搜索旋转排序数组 | 🟡 Medium | solution |
| 153 | 寻找旋转排序数组中的最小值 | 🟡 Medium | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 70 | 爬楼梯 | 🟢 Easy | solution |
| 118 | 杨辉三角 | 🟢 Easy | solution |
| 198 | 打家劫舍 | 🟡 Medium | solution |
| 279 | 完全平方数 | 🟡 Medium | solution |
| 322 | 零钱兑换 | 🟡 Medium | solution |
| 139 | 单词拆分 | 🟡 Medium | solution |
| 300 | 最长递增子序列 | 🟡 Medium | solution |
| 152 | 乘积最大子数组 | 🟡 Medium | solution |
| 416 | 分割等和子集 | 🟡 Medium | solution |
| 32 | 最长有效括号 | 🔴 Hard | solution |
| 62 | 不同路径 | 🟡 Medium | solution |
| 64 | 最小路径和 | 🟡 Medium | solution |
| 5 | 最长回文子串 | 🟡 Medium | solution |
| 1143 | 最长公共子序列 | 🟡 Medium | solution |
| 72 | 编辑距离 | 🟡 Medium | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 121 | 买卖股票的最佳时机 | 🟢 Easy | solution |
| 55 | 跳跃游戏 | 🟡 Medium | solution |
| 45 | 跳跃游戏 II | 🟡 Medium | solution |
| 763 | 划分字母区间 | 🟡 Medium | solution |
| 136 | 只出现一次的数字 | 🟢 Easy | solution |
| 169 | 多数元素 | 🟢 Easy | solution |
| 75 | 颜色分类 | 🟡 Medium | solution |
| 31 | 下一个排列 | 🟡 Medium | solution |
| 287 | 寻找重复数 | 🟡 Medium | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 215 | 数组中的第K个最大元素 | 🟡 Medium | solution |
| 347 | 前 K 个高频元素 | 🟡 Medium | solution |
| 295 | 数据流的中位数 | 🔴 Hard | solution |
| # | 题目 | 难度 | 本地题解 |
|---|---|---|---|
| 73 | 矩阵置零 | 🟡 Medium | solution |
| 54 | 螺旋矩阵 | 🟡 Medium | solution |
| 48 | 旋转图像 | 🟡 Medium | solution |
| 240 | 搜索二维矩阵 II | 🟡 Medium | solution |
zero2Leetcode/
├── README.md # 项目说明
├── index.html # 🌐 前端学习平台入口
├── playground.html # 🖥️ 在线练习场(含 AI 助手)
├── acm-playground.html # 🎯 ACM 模拟 IDE(stdin/stdout + 调试)
├── requirements.txt # Python 依赖
│
├── assets/
│ ├── css/
│ │ ├── style.css # 全站设计系统
│ │ ├── playground.css # 练习场 + AI 助手样式
│ │ └── acm-playground.css # ACM 模拟 IDE 样式
│ ├── js/
│ │ ├── playground.js # 练习场核心逻辑
│ │ ├── acm-playground.js # ACM 模拟 IDE 逻辑
│ │ └── ai-assistant.js # 🤖 AI 刷题助手模块
│ └── images/ # 静态资源
│
├── 00_python_basics/ # Python 基础
├── 01_data_structures/ # 数据结构
├── 02_algorithms/ # 核心算法
└── 03_leetcode_practice/ # LeetCode 实战
├── hash/ # 哈希表
├── two_pointers/ # 双指针
├── sliding_window/ # 滑动窗口
├── stack/ # 栈
├── linked_list/ # 链表
├── tree/ # 树
├── graph/ # 图
├── backtrack/ # 回溯
├── binary_search/ # 二分查找
├── dp/ # 动态规划
├── greedy/ # 贪心
├── heap/ # 堆
├── matrix/ # 矩阵
└── other/ # 其他技巧
# 克隆项目
git clone https://github.com/ranxi2001/zero2Leetcode.git
cd zero2Leetcode
# 启动本地服务器
python3 -m http.server 8080
# 在线练习场: http://localhost:8080/playground.html
# ACM 模拟 IDE: http://localhost:8080/acm-playground.html
# 运行 Python 示例
python 00_python_basics/01_variables_types/concepts.py所有题解都链接到 LeetCode 官方,点击表格中的题目名称即可跳转在线练习!
👉 推荐学习计划: LeetCode 力扣 Hot 100 官方题单
- 循序渐进: 按阶段学习,不要跳跃
- 动手为先: 每道题先自己尝试 15-30 分钟
- 善用 AI: 卡住时点 🤖 助手获取提示,而不是直接看答案
- 理解模板: 掌握每类题型的解题模板
- 重复练习: 做错的题目隔 3-5 天重做
- 总结归纳: 建立自己的错题本和模板库
MIT License © 2026
🌟 如果对你有帮助,请点个 Star!


