Skip to content

lFeynman/leetcode_learning

Repository files navigation

LeetCode 题解集(中文)

欢迎来到张凌一的 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 上直接阅读和分享。

🏷️ 按标签索引

📊 题目速览表

序号 题目 主要标签 典型思路 时间复杂度 空间复杂度
1 寻找数组的中心索引 数组 / 前缀和 预先计算总和 + 单次遍历维护左侧和 $O(n)$ $O(1)$
2 搜索插入位置 数组 / 二分查找 标准二分在有序数组中查找插入位置 $O(\log n)$ $O(1)$
3 合并区间 排序 / 区间 先按区间起点排序,再线性扫描合并 $O(n \log n)$ $O(1)$ / $O(n)$
4 旋转矩阵 矩阵 / 原地操作 分层旋转或先转置再翻转 $O(n^2)$ $O(1)$
5 零矩阵 矩阵 / 原地标记 用首行首列(或额外数组)标记需要清零的行列 $O(mn)$ $O(1)$ / $O(m+n)$
6 对角线遍历 矩阵 / 模拟 按对角线编号分组或直接按方向模拟 $O(mn)$ $O(1)$ / $O(mn)$
7 最长公共前缀 字符串 / 逐字符扫描 固定第一个字符串纵向逐字符比较 $O(nL)$ $O(1)$
8 最长回文子串 字符串 / 中心扩展 / Manacher 默认实现使用中心扩展,可选 Manacher 优化 $O(n^2)$$O(n)$ $O(1)$ / $O(n)$
9 盛最多水的容器 数组 / 双指针 两端双指针向内收缩,每次移动较短的板 $O(n)$ $O(1)$
10 三数之和 数组 / 排序 / 双指针 先排序,再固定一数配合双指针寻找另外两数并去重 $O(n^2)$ $O(1)$
11 最接近的三数之和 数组 / 排序 / 双指针 排序后固定一数,用双指针逼近 target,并维护最优和 $O(n^2)$ $O(1)$

About

A beginner's Python coding record for LeetCode practice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published