'nakara no kibou'/ Uomi
1550 字
8 分钟
leetcode刷题列表
第⼀章、基础数据结构
数组双指针
⼆分搜索
- 在排序数组中查找元素的第⼀个和最后⼀个位置
- ⼆分查找
- 搜索插⼊位置
- 俄罗斯套娃信封问题
- 判断⼦序列
- 阶乘函数后 K 个零
- 爱吃⾹蕉的珂珂
- 在 D 天内送达包裹的能⼒
滑动窗⼝
- ⽆重复字符的最⻓⼦串
- 最⼩覆盖⼦串
- 找到字符串中所有字⺟异位词
- 字符串的排列
- 滑动窗⼝最⼤值
其他题⽬
- 三数之和
- 四数之和
- ⼩于 K 的两数之和
- 删除有序数组中的重复项
- 移除元素
- 移动零
- 最接近的三数之和
- 区间列表的交集
- 盛最多⽔的容器
- 接⾬⽔
- 优势洗牌
- 较⼩的三数之和
链表双指针
- 两数相加
- 删除链表的倒数第 N 个结点
- 合并两个有序链表
- 合并 K 个升序链表
- 环形链表
- 环形链表 II
- 相交链表
- 链表的中间结点
- K 个⼀组翻转链表
- 删除排序链表中的重复元素
- 反转链表 II
- 回⽂链表
前缀和
- 区域和检索 - 数组不可变
- ⼆维区域和检索 - 矩阵不可变
- 和为 K 的⼦数组
差分数组
- 区间加法
- 拼⻋
- 航班预订统计
队列/栈算法
- 有效的括号
- 使括号有效的最少添加
- 平衡括号字符串的最少插⼊次数
- 最⻓有效括号
- ⽤队列实现栈
- ⽤栈实现队列
- 滑动窗⼝最⼤值
⼆叉堆
- 合并 K 个升序链表
- 数组中的第 K 个最⼤元素
- 数据流的中位数
- 数据流中的第 K ⼤元素
数据结构设计
- LRU 缓存机制
- 扁平化嵌套列表迭代器
- O(1) 时间插⼊、删除和获取随机元素
- LFU 缓存
- 最⼤频率栈
第⼆章、进阶数据结构
⼆叉树
- ⼆叉树的中序遍历
- 相同的树
- ⼆叉树的层序遍历在线⽹站
- ⼆叉树的锯⻮形层序遍历
- ⼆叉树的最⼤深度
- 从前序与中序遍历序列构造⼆叉树
- 从中序与后序遍历序列构造⼆叉树
- 最⼤⼆叉树
- ⼆叉树的层序遍历 II
- ⼆叉树的最⼩深度
- ⼆叉树展开为链表
- 填充每个节点的下⼀个右侧节点指针
- 翻转⼆叉树
- ⼆叉树的前序遍历
- ⼆叉树的后序遍历
- 完全⼆叉树的节点个数
- ⼆叉树的最近公共祖先
- ⼆叉树的序列化与反序列化
- 扁平化嵌套列表迭代器
- ⼆叉搜索树中的众数
- ⼆叉树的直径
- N 叉树的最⼤深度
- N 叉树的前序遍历
- N 叉树的后序遍历
- 寻找重复的⼦树
- 单值⼆叉树
⼆叉搜索树
- 不同的⼆叉搜索树 II
- 不同的⼆叉搜索树
- 验证⼆叉搜索树
- 删除⼆叉搜索树中的节点
- ⼆叉搜索树中的搜索
- ⼆叉搜索树中的插⼊操作
- ⼆叉搜索树中第 K ⼩的元素
- 把⼆叉搜索树转换为累加树
- 把⼆叉搜索树转换为累加树
- ⼆叉搜索树中的众数
- ⼆叉搜索树的最⼩绝对差
- ⼆叉搜索树节点最⼩距离
- ⼆叉搜索⼦树的最⼤键值和
图论算法
图的遍历
- 所有可能的路径
⼆分图
- 判断⼆分图
- 可能的⼆分法#### 环检测/拓扑排序
- 课程表
- 课程表 II
并查集算法
- 被围绕的区域
- 等式⽅程的可满⾜性
- 情侣牵⼿
最⼩⽣成树
- 以图判树
- 最低成本联通所有城市
- 连接所有点的最⼩费⽤
最短路径
- ⽹络延迟时间
- 概率最⼤的路径
- 最⼩体⼒消耗路径
第三章、暴⼒搜索算法
回溯算法
- 电话号码的字⺟组合
- 括号⽣成
- 解数独
- 组合总和
- 全排列
- 组合
- ⼦集
- N 皇后
- ⼆叉树的最⼤深度
- ⽬标和
- 划分为 k 个相等的⼦集
DFS 算法
- 被围绕的区域
- 岛屿数量
- 不同的岛屿数量
- 岛屿的最⼤⾯积
- ⻜地的数量
- 统计封闭岛屿的数⽬
- 统计⼦岛屿
BFS 算法
- ⼆叉树的层序遍历
- ⼆叉树的锯⻮形层序遍历
- ⼆叉树的层序遍历 II
- ⼆叉树的最⼩深度
- 打开转盘锁
- 滑动谜题
第四章、动态规划算法
⼀维 DP
- 跳跃游戏 II
- 跳跃游戏
- 最⼤⼦序和
- 爬楼梯
- 打家劫舍
- 打家劫舍 II
- 打家劫舍 III
- 最⻓递增⼦序列
- 零钱兑换
- 俄罗斯套娃信封问题
⼆维 DP
- 正则表达式匹配
- 不同路径
- 最⼩路径和
- 编辑距离
- 买卖股票的最佳时机
- 买卖股票的最佳时机 II
- 买卖股票的最佳时机 III
- 买卖股票的最佳时机 IV
- 最佳买卖股票时机含冷冻期
- 买卖股票的最佳时机含⼿续费
- 地下城游戏
- 戳⽓球
- 分割等和⼦集
- ⽬标和
- ⾃由之路
- 零钱兑换 II
- 两个字符串的删除操作
- 两个字符串的最⼩ ASCII 删除和
- 最⻓公共⼦序列
- K 站中转内最便宜的航班
- 鸡蛋掉落
- 下降路径最⼩和
背包问题
- 分割等和⼦集
- ⽬标和
- 零钱兑换 II
第五章、其他经典算法
数学算法
- 电话号码的字⺟组合
- 组合
- ⼦集
- 加油站
- 只出现⼀次的数字
- 位 1 的个数
- 2 的幂
- 阶乘后的零
- 阶乘函数后 K 个零
- 计数质数
- 丢失的数字
- Nim 游戏
- 灯泡开关
- ⽯⼦游戏
- 数据流的中位数
- 超级次⽅
- 链表随机节点
- 随机数索引
- 完美矩形
- 斐波那契数
- 错误的集合
- ⿊名单中的随机数
区间问题
- 合并区间
- 区间列表的交集
- 删除被覆盖区间
- ⽆重叠区间
- ⽤最少数量的箭引爆⽓球
- 视频拼接
- 单线程 CPU
leetcode刷题列表
https://pinellia.uk/posts/leetcode-list/