这是一个专注于算法学习与实践的仓库,包含多种算法和数据结构的实现、LeetCode 题解、算法模板等。
| 项目 | 数量 |
|---|---|
| 文档文件 | 17 |
| 代码文件 | 930 |
| 总文件数 | 947 |
| 支持语言 | c, cpp, java, py |
| 分类 | 文档数量 |
|---|---|
| backtracking | 3 |
| binary_tree | 4 |
| dynamicProgram | 1 |
| map | 2 |
| string | 1 |
| 其他 | 6 |
| 语言 | 文件数量 |
|---|---|
| c | 123 |
| cpp | 130 |
| java | 672 |
| py | 5 |
- 基础算法:排序、查找、递归等
- 数据结构:数组、链表、栈、队列、树、图等
- 高级算法:动态规划、回溯、贪心、分治等
- LeetCode 题解:热门题目解析与实现
- Java:面向对象实现,注重代码规范
- Python:简洁实现,注重算法思想
- 其他语言:根据需求逐步添加
- 算法模板与套路总结
- 常见问题解决方案
- 性能分析与优化技巧
| 分类 | 题目 |
|---|---|
| 二叉树的属性 | 101. 对称二叉树 |
| 104. 二叉树的最大深度 | |
| 111. 二叉树的最小深度 | |
| 222. 完全二叉树的节点个数 | |
| 110. 平衡二叉树 | |
| 257. 二叉树的所有路径 | |
| 404. 左叶子之和 | |
| 513. 找树左下角的值 | |
| 112. 路径总和 | |
| 二叉树的修改与构造 | 226. 翻转二叉树 |
| 106. 中序+后序构造二叉树 | |
| 654. 最大二叉树 | |
| 617. 合并二叉树 | |
| 二叉搜索树属性 | 98. 验证二叉搜索树 |
| 530. 二叉搜索树的最小绝对差 | |
| 501. 二叉搜索树中的众数 | |
| 538. 二叉搜索树转累加树 | |
| 二叉树公共祖先问题 | 236. 二叉树的最近公共祖先 |
| 235. 二叉搜索树的最近公共祖先 | |
| 二叉搜索树修改与构造 | 701. 二叉搜索树插入操作 |
| 450. 删除二叉搜索树节点 | |
| 669. 修剪二叉搜索树 | |
| 108. 有序数组转二叉搜索树 |
| 分类 | 题目 |
|---|---|
| 组合 | 17. 电话号码的字母组合 |
| 39. 组合总和 | |
| 40. 组合总和 II | |
| 216. 组合总和 III | |
| 分割 | 93. 复原IP地址 |
| 131. 分割回文串 | |
| 子集 | 78. 子集 |
| 90. 子集 II | |
| 排列 | 46. 全排列 |
| 47. 全排列 II | |
| 棋盘问题 | 51. N皇后 |
| 37. 解数独 | |
| 其他 | 491. 递增子序列 |
| 332. 重新安排行程 |
| 分类 | 题目 |
|---|---|
| 简单问题 | 455. 分发饼干 |
| 1005. K次取反后最大化的数组和 | |
| 860. 柠檬水找零 | |
| 中等问题 | 376. 摆动序列 |
| 序列问题 | 738. 单调递增的数字 |
| 股票问题 | 122. 买卖股票的最佳时机II |
| 714. 买卖股票的最佳时机含手续费 | |
| 分配问题 | 135. 分发糖果 |
| 双维度问题 | 406. 根据身高重建队列 |
| 跳跃游戏 | 55. 跳跃游戏 |
| 45. 跳跃游戏II | |
| 区间问题 | 452. 用最少数量的箭引爆气球 |
| 435. 无重叠区间 | |
| 763. 划分字母区间 | |
| 56. 合并区间 | |
| 其他经典问题 | 53. 最大子序和 |
| 134. 加油站 | |
| 968. 监控二叉树 |
- Java 8+ 或 Python 3.6+
- Git
# 克隆仓库
git clone https://github.com/CoderLiLe/hello-algo.git
# 查看特定算法
cd hello-algo/docs/动态规划// Java 示例
javac Main.java
java Main# Python 示例
python3 sort/bubble_sort.py- 基础阶段:掌握基本数据结构和算法
- 进阶阶段:学习高级算法和优化技巧
- 实战阶段:解决 LeetCode 等平台题目
- 总结阶段:整理模板,形成自己的知识体系
欢迎贡献代码和文档!请遵循以下步骤:
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
- 添加 KMP 算法实现
- 更新字符串匹配题解
- 优化文档结构
- 添加更多算法实现
- 增加算法可视化
- 添加测试用例
- 优化代码性能
如有问题或建议,请:
- 提交 Issue
- 通过邮件联系
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
最后更新: 2026-03-13 22:54:04
⭐ 如果这个项目对你有帮助,请给个 Star 支持一下! ⭐
持续更新中,欢迎关注和贡献!