欢迎来到LeetCode Hot100算法学习课程!这是一个专为算法学习者设计的完整课程体系,涵盖了LeetCode最热门的100道题目,按算法类别进行分类训练,使用ACM输入格式,并融入了丰富的趣味性元素。
- 📚 系统性学习: 按算法类别分专题,循序渐进
- 🎮 趣味性设计: 游戏化学习体验,RPG闯关模式
- 💻 ACM格式: 标准竞赛输入输出格式
- 🔧 实用工具: 丰富的模板和调试工具
- 📊 可视化: 算法过程动态演示
- 🏆 成就系统: 激励式学习进度追踪
leetcode_hot100_course/
├── 01_array_string/ # 数组与字符串 (基础必修)
├── 02_linked_list/ # 链表 (指针操作)
├── 03_stack_queue/ # 栈与队列 (线性结构)
├── 04_tree_graph/ # 树与图 (非线性结构)
├── 05_dynamic_programming/ # 动态规划 (核心算法)
├── 06_backtracking/ # 回溯算法 (搜索策略)
├── 07_greedy/ # 贪心算法 (优化策略)
├── 08_binary_search/ # 二分查找 (搜索优化)
├── 09_math_bit/ # 数学与位运算 (技巧专题)
├── 10_advanced/ # 高级算法 (进阶挑战)
├── tools/ # 工具集合
├── tests/ # 测试用例
└── README.md # 课程总览
| 专题 | 难度 | 题目数 | 核心技能 | 预计时间 |
|---|---|---|---|---|
| 01_数组与字符串 | ⭐⭐ | 15题 | 双指针、滑动窗口 | 1周 |
| 02_链表 | ⭐⭐ | 10题 | 指针操作、递归 | 1周 |
| 03_栈与队列 | ⭐⭐⭐ | 8题 | 单调栈、优先队列 | 1周 |
| 04_树与图 | ⭐⭐⭐ | 20题 | DFS、BFS、树遍历 | 2周 |
| 05_动态规划 | ⭐⭐⭐⭐ | 15题 | 状态转移、最优子结构 | 2周 |
| 06_回溯算法 | ⭐⭐⭐ | 8题 | 递归、剪枝 | 1周 |
| 07_贪心算法 | ⭐⭐⭐ | 10题 | 局部最优、证明 | 1周 |
| 08_二分查找 | ⭐⭐⭐ | 8题 | 边界处理、变种 | 1周 |
| 09_数学与位运算 | ⭐⭐ | 6题 | 数学技巧、位操作 | 3天 |
| 10_高级算法 | ⭐⭐⭐⭐⭐ | 10题 | 综合应用、优化 | 1周 |
每个专题都设计为一个"算法王国",你将扮演一名算法勇士:
- 🗡️ 新手村: 数组与字符串 (Level 1-15)
- 🏹 冒险者: 链表、栈队列 (Level 16-35)
- 🛡️ 勇士: 树图、动态规划 (Level 36-70)
- ⚔️ 英雄: 回溯、贪心、二分 (Level 71-90)
- 👑 传说: 数学位运算、高级算法 (Level 91-100)
- 🥉 青铜勇士: 完成每个专题的简单题目
- 🥈 白银骑士: 完成每个专题的中等题目
- 🥇 黄金英雄: 完成每个专题的困难题目
- 💎 钻石大师: 完成所有扩展挑战
- 🌟 传奇宗师: 自主优化算法并通过性能测试
目标: 掌握基础数据结构和算法思维
- ✅ 数组与字符串 (双指针、滑动窗口)
- ✅ 链表 (指针操作、递归思想)
- ✅ 栈与队列 (LIFO/FIFO思想)
目标: 理解核心算法和复杂数据结构
- ✅ 树与图 (DFS/BFS、树的遍历)
- ✅ 动态规划 (状态转移、最优子结构)
- ✅ 回溯算法 (搜索与剪枝)
目标: 掌握优化技巧和高级算法
- ✅ 贪心算法 (局部最优策略)
- ✅ 二分查找 (搜索优化)
- ✅ 数学与位运算 (技巧专题)
- ✅ 高级算法 (综合应用)
每个题目都包含:
- 🎬 算法动画: 步骤可视化演示
- 📈 复杂度分析: 时间空间复杂度图表
- 🔍 调试工具: 中间状态查看
- 📝 思路导图: 解题思路梳理
- 选择专题: 根据学习路径选择当前专题
- 阅读README: 了解专题核心概念和技巧
- 学习模板: 掌握该专题的通用模板
- 刷题实战: 按难度递进完成题目
- 总结复盘: 整理笔记和易错点
- 🎯 目标导向: 每天设定明确的学习目标
- ⏰ 时间管理: 建议每天1-2小时,保持连续性
- 🔄 循环复习: 定期回顾已学内容,加深印象
- 💬 交流讨论: 加入学习群组,分享心得体会
- 📝 笔记整理: 记录重点知识和解题技巧
- 🏆 闯关模式: 每个专题都有难度递进的题目
- 🎯 挑战任务: 特殊的算法挑战
- 📈 进度追踪: 记录学习进度
- 💡 思路提示: 渐进式提示系统
- 🔧 模板代码: 常用算法模板
🏆 当前等级: 🗡️ 算法新手 (Level 1)
📈 完成题目: 0/100
📚 当前专题: 准备开始
🔥 连续刷题: 0天
⏰ 总学习时间: 0小时
🎖️ 获得成就: 0个
| 专题 | 进度 | 状态 |
|---|---|---|
| 数组与字符串 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 链表 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 栈与队列 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 树与图 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 动态规划 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 回溯算法 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 贪心算法 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 二分查找 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 数学位运算 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 高级算法 | ░░░░░░░░░░ 0% | 🔒 未开始 |
| 周次 | 专题 | 学习重点 | 题目数量 | 预期成果 |
|---|---|---|---|---|
| Week 1 | 数组与字符串 | 双指针、滑动窗口 | 15题 | 掌握基础技巧 |
| Week 2 | 链表 | 指针操作、递归 | 10题 | 理解指针概念 |
| Week 3 | 栈与队列 | 单调栈、优先队列 | 8题 | 掌握线性结构 |
| Week 4-5 | 树与图 | DFS、BFS、遍历 | 20题 | 理解非线性结构 |
| Week 6-7 | 动态规划 | 状态转移、最优化 | 15题 | 掌握核心算法 |
| Week 8 | 回溯算法 | 搜索、剪枝 | 8题 | 理解搜索策略 |
| Week 9 | 贪心+二分 | 局部最优、搜索 | 18题 | 掌握优化技巧 |
| Week 10 | 综合复习 | 数学+高级算法 | 16题 | 综合应用能力 |
- 📖 理论学习: 《算法导论》、《剑指Offer》
- 💻 在线平台: LeetCode、牛客网、洛谷
- 🎥 视频教程: B站算法课程、YouTube教程
- 📝 笔记工具: Notion、Obsidian、Typora
- IDE推荐: VSCode、PyCharm、IntelliJ IDEA
- 调试工具: Python Debugger、GDB
- 性能分析: cProfile、Valgrind
- 可视化: Matplotlib、Graphviz、算法可视化网站
- GitHub: 提交代码、分享解题思路
- 技术论坛: 力扣中国、牛客网讨论区
- 学习社群: 算法学习QQ群、微信群
- 个人博客: 记录学习心得和解题思路
- 技术文章: 发布到掘金、CSDN、知乎
- 代码仓库: GitHub开源学习笔记
-
每个专题文件夹包含:
problems/- 题目文件solutions/- 解答代码templates/- 算法模板notes.md- 学习笔记
-
题目格式:
- 使用ACM输入格式
- 包含完整的输入输出示例
- 提供多种解法
-
学习建议:
- 先理解算法原理
- 独立思考解题思路
- 参考模板代码
- 总结解题经验
建议按照以下顺序学习:
- 数组与字符串 → 2. 链表 → 3. 栈与队列 → 4. 树与图 → 5. 搜索算法 → 6. 动态规划 → 7. 贪心算法 → 8. 排序与查找 → 9. 数学与位运算 → 10. 其他经典算法
每个专题预计学习时间:3-5天
🌟 准备好开始你的算法学习之旅了吗?每一道题都是通往算法大师的阶梯!
💪 记住:坚持每天刷题,量变引起质变!