Leetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Install / Use
/learn @doocs/LeetcodeREADME
<p align="center">
<a href="https://github.com/doocs/leetcode"><img src="https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/gh/doocs/leetcode%40main/images/doocs-leetcode.png" alt="LeetCode-GitHub-Doocs"></a>
</p>
<p align="center">
<a href="https://doocs.org"><img src="https://img.shields.io/badge/organization-join%20us-4051B5?style=flat-square" alt="open-source-organization"></a>
<a href="https://github.com/doocs/leetcode"><img src="https://img.shields.io/badge/langs-Python%20%7C%20Java%20%7C%20C++%20%7C%20Go%20%7C%20TypeScript%20%7C%20Rust%20%7C%20...-red?style=flat-square&color=4051B5" alt="languages"></a>
<a href="https://github.com/doocs/leetcode/blob/main/LICENSE"><img src="https://img.shields.io/github/license/doocs/leetcode?color=4051B5&style=flat-square" alt="LICENSE"></a><br>
<a href="https://github.com/doocs/leetcode/stargazers"><img src="https://img.shields.io/github/stars/doocs/leetcode?color=4051B5&logo=github&style=flat-square" alt="stars"></a>
<a href="https://github.com/doocs/leetcode/network/members"><img src="https://img.shields.io/github/forks/doocs/leetcode?color=4051B5&logo=github&style=flat-square" alt="forks"></a>
<a href="https://opencollective.com/doocs-leetcode" alt="backers on Open Collective"><img src="https://img.shields.io/opencollective/backers/doocs-leetcode?color=4051B5&style=flat-square&logo=open%20collective&logoColor=ffffff" /></a>
</p>
介绍
本项目包含 LeetCode、《剑指 Offer(第 2 版)》、《剑指 Offer(专项突击版)》、《程序员面试金典(第 6 版)》等题目的相关题解。所有题解均由多种编程语言实现,包括但不限于:Java、Python、C++、Go、TypeScript、Rust。我们正在全力更新,欢迎 Star 🌟 关注本项目,获取项目最新动态。
站点
算法全解
专项突破
算法提升专题
1. 基础算法
- 在排序数组中查找元素的第一个和最后一个位置 -
二分查找 - 准时到达的列车最小时速 -
二分查找 - 可移除字符的最大数目 -
二分查找 - 排序数组 -
快速排序、归并排序 - 字符串相加 -
高精度加法 - 字符串相乘 -
高精度乘法 - 区域和检索 - 数组不可变 -
前缀和 - 二维区域和检索 - 矩阵不可变 -
二维前缀和 - 区间加法 -
前缀和、差分 - 用邮票贴满网格图 -
二维前缀和、二维差分 - 无重复字符的最长子串 -
双指针、哈希表 - 乘积小于 K 的子数组 -
双指针 - 位 1 的个数 -
位运算、lowbit - 合并区间 -
区间合并
2. 数据结构
- 设计链表 -
单链表、指针引用、数组实现 - 下一个更大元素 I -
单调栈 - 每日温度 -
单调栈 - 子数组的最小值之和 -
单调栈 - 最大宽度坡 -
单调栈 - 最多能完成排序的块 II -
单调栈 - 子数组范围和 -
单调栈 - 子数组最小乘积的最大值 -
单调栈 - 滑动窗口最大值 -
单调队列 - 满足不等式的最大值 -
单调队列 - 和至少为 K 的最短子数组 -
单调队列 - 带限制的子序列和 -
动态规划、单调队列优化 - 单词规律 II -
哈希表、回溯 - 最短回文串 -
字符串哈希 - 回文对 -
字符串哈希 - 最长重复子串 -
字符串哈希、二分查找 - 不同的循环子字符串 -
字符串哈希
3. 搜索
- 图像渲染-
BFS、DFS、Flood Fill 算法、连通性模型 - 岛屿数量 -
BFS、Flood Fill 算法 - 01 矩阵 -
多源 BFS - 地图中的最高点 -
多源 BFS - 进击的骑士 -
BFS、最短路模型 - 二进制矩阵中的最短路径 -
BFS、最短路模型 - 迷宫中离入口最近的出口 -
BFS、最短路模型 - 网格中的最短路径 -
BFS、最短路模型 - 打开转盘锁 -
最小步数模型、双向 BFS、A* 算法 - 单词接龙 -
最小步数模型、双向 BFS - 转化数字的最小运算数 -
最小步数模型、双向 BFS - 滑动谜题 -
BFS、最小步数模型、A* 算法 - 访问所有节点的最短路径 -
BFS、最小步数模型、A* 算法 - 为高尔夫比赛砍树 -
BFS、A* 算法 - 使网格图至少有一条有效路径的最小代价 -
双端队列 BFS - 到达角落需要移除障碍物的最小数目 -
双端队列 BFS - 迷宫 -
DFS、连通性模型、Flood Fill 算法 - 单词搜索 -
DFS、搜索顺序、回溯 - 黄金矿工 -
DFS、搜索顺序、回溯 - 火柴拼正方形 -
DFS、回溯、剪枝 - 划分为 k 个相等的子集 -
DFS、回溯、剪枝 - 完成所有工作的最短时间 -
DFS、回溯、剪枝 - 公平分发饼干 -
DFS、回溯、剪枝 - 矩阵中的最长递增路径 -
DFS、记忆化搜索 - 网格图中递增路径的数目 -
DFS、记忆化搜索 - 翻转游戏 II -
DFS、状态压缩、记忆化搜索 - 统计所有可行路径 -
DFS、记忆化搜索 - 切披萨的方案数 -
DFS、记忆化搜索
4. 动态规划(DP)
- 杨辉三角 -
线性 DP、数字三角形模型 - 最小路径和 -
线性 DP、数字三角形模型 - 摘樱桃 -
线性 DP、数字三角形模型 - 摘樱桃 II -
线性 DP、数字三角形模型 - 最长递增子序列 -
线性 DP、最长上升子序列模型 - 无重叠区间 -
线性 DP、最长上升子序列模型、贪心优化 - 删列造序 III -
线性 DP、最长上升子序列模型 - 俄罗斯套娃信封问题 -
线性 DP、最长上升子序列模型、贪心优化 - 堆叠长方体的最大高度 -
排序、线性 DP、最长上升子序列模型 - 无矛盾的最佳球队 -
排序、线性 DP、最长上升子序列模型 - 最长公共子序列 -
线性 DP、最长公共子序列模型 - 两个字符串的最小 ASCII 删除和 -
线性 DP、最长公共子序列模型 - 两个字符串的删除操作 -
线性 DP、最长公共子序列模型 - 目标和 -
0-1 背包问题 - 分割等和子集 -
0-1 背包问题 - 最后一块石头的重量 II -
0-1 背包问题 - 零钱兑换 -
完全背包问题 - 组合总和 Ⅳ -
完全背包问题 - 从栈中取出 K 个硬币的最大面值和 -
分组背包问题 - 数字 1 的个数 -
数位 DP、记忆化搜索 - 统计各位数字都不同的数字个数 -
数位 DP、记忆化搜索、状态压缩 - 不含连续 1 的非负整数 -
数位 DP、记忆化搜索 - [旋转数字](/solution/0700-0799/0788.Rot
