欢迎来到张凌一的 LeetCode 中文题解仓库,本仓库收录若干经典题目,每个题目以独立的 Markdown 文件保存,并标注了与代码实现相匹配的算法/数据结构标签,方便检索与复习。
🧭 目录概览
- 1. 寻找数组的中心索引:
1.寻找数组的中心索引.md— 标签:数组,前缀和 - 2. 搜索插入位置:
2.搜索插入位置.md— 标签:数组,二分查找 - 3. 合并区间:
3.合并区间.md— 标签:排序,区间 - 4. 旋转矩阵:
4.旋转矩阵.md— 标签:矩阵,原地操作 - 5. 零矩阵:
5.零矩阵.md— 标签:矩阵,哈希表,原地标记 - 6. 对角线遍历:
6.对角线遍历.md— 标签:矩阵,模拟 - 7. 最长公共前缀:
7.最长公共前缀.md— 标签:字符串,逐字符扫描 - 8. 最长回文子串:
8.最长回文子串.md— 标签:字符串,中心扩展,Manacher - 9. 盛最多水的容器:
9.盛最多水的容器.md— 标签:数组,双指针 - 10. 三数之和:
10.三数之和.md— 标签:数组,排序,双指针 - 11. 最接近的三数之和:
11.最接近的三数之和.md— 标签:数组,排序,双指针
✨ 特性与目的
- 清晰分类: 每道题都贴上常见的算法/数据结构标签,便于按主题复习。
- 中文讲解: 使用中文撰写解题思路、复杂度分析与示例。
- 轻量目录: 纯 Markdown 组织,便于在 GitHub 上直接阅读和分享。
🏷️ 按标签索引
数组前缀和二分查找排序区间矩阵原地操作哈希表原地标记模拟字符串逐字符扫描双指针中心扩展Manacher
📊 题目速览表
| 序号 | 题目 | 主要标签 | 典型思路 | 时间复杂度 | 空间复杂度 |
|---|---|---|---|---|---|
| 1 | 寻找数组的中心索引 | 数组 / 前缀和 | 预先计算总和 + 单次遍历维护左侧和 | ||
| 2 | 搜索插入位置 | 数组 / 二分查找 | 标准二分在有序数组中查找插入位置 | ||
| 3 | 合并区间 | 排序 / 区间 | 先按区间起点排序,再线性扫描合并 |
|
|
| 4 | 旋转矩阵 | 矩阵 / 原地操作 | 分层旋转或先转置再翻转 | ||
| 5 | 零矩阵 | 矩阵 / 原地标记 | 用首行首列(或额外数组)标记需要清零的行列 |
|
|
| 6 | 对角线遍历 | 矩阵 / 模拟 | 按对角线编号分组或直接按方向模拟 |
|
|
| 7 | 最长公共前缀 | 字符串 / 逐字符扫描 | 固定第一个字符串纵向逐字符比较 | ||
| 8 | 最长回文子串 | 字符串 / 中心扩展 / Manacher | 默认实现使用中心扩展,可选 Manacher 优化 |
|
|
| 9 | 盛最多水的容器 | 数组 / 双指针 | 两端双指针向内收缩,每次移动较短的板 | ||
| 10 | 三数之和 | 数组 / 排序 / 双指针 | 先排序,再固定一数配合双指针寻找另外两数并去重 | ||
| 11 | 最接近的三数之和 | 数组 / 排序 / 双指针 | 排序后固定一数,用双指针逼近 target,并维护最优和 |