91-days-algorithm
91-days-algorithm copied to clipboard
91天学算法-Leetcode图解题解集合(JavaScript/C++/Python) Solutions and Explainations with Hand Drawings in Chinese(JavaScript/C++/Python)
Leetcode 题解
路西法的91天学算法第6期题目列表
更新说明
转到 Notion 上记录啦,更方便些,戳这里🔗
这个仓库可能不更新啦,内容也会逐步搬到 Notion 上的。
不过还是不要脸地说句,如果我的题解有帮到你的话,还是欢迎右上角 Star 🌟 这个仓库的。(拜托拜托ớ ₃ờ)
TOC
| 基础篇 | 进阶篇 | 专题篇 |
|---|---|---|
| 数组/栈/队列 | 高频面试题 | 二分法 |
| 链表 | 前缀树 | 滑动窗口 |
| 树 | 并查集 | 位运算 |
| 哈希表 | 跳表 | 搜索(BFS/DFS/回溯) |
| 双指针 | 剪枝 | 背包问题 |
| - | 字符串匹配 | 动态规划 |
| - | 堆 | 分治 |
| - | - | 贪心 |
基础篇
数组,栈,队列
每日一题
- [x] 【day-01】66.加一
- [x] 【day-02】821.字符的最短距离
- [x] 【day-03】1381.设计一个支持增量操作的栈
- [x] 【day-04】394.字符串解码
- [x] 【day-05】232.用栈实现队列
- [x] 【day-06】768.最多能完成排序的块 II
数组拓展题目
- [x] 75.颜色分类
- [x] 28.实现 strStr()
- [x] 380.常数时间插入、删除和获取随机元素
- [x] 189.旋转数组
- [ ] 59. 螺旋矩阵 II
- [ ] 859. 亲密字符串
栈拓展题目
- [ ] 946. 验证栈序列
队列拓展题目
相关专题
链表
每日一题
- [x] 【day-07】24.两两交换链表中的节点
- [ ] 【day-08】61.旋转链表
- [ ] 【day-09】109.有序链表转换二叉搜索树
- [x] 【day-10】160.相交链表
- [x] 【day-11】142.环形链表 II
- [x] 【day-12】146.LRU 缓存机制
链表拓展题目
- [x] 2.两数相加
- [x] 19.删除链表的倒数第 N 个结点
- [x] 21.合并两个有序链表
- [x] 83.删除排序链表中的重复元素
- [x] 206.反转链表
树
每日一题
- [x] 【day-13】104.二叉树的最大深度
- [x] 【day-14】100.相同的树
- [x] 【day-15】129.求根到叶子节点数字之和
- [x] 【day-16】513.找树左下角的值
- [x] 【day-17】297.二叉树的序列化与反序列化
- [x] 【day-18】987.二叉树的垂序遍历
树拓展题目
- [x] 105.从前序与中序遍历序列构造二叉树
- [x] 404.左叶子之和
- [x] 257.二叉树的所有路径
- [x] 112.路径总和
- [x] 543.二叉树的直径
- [x] 98.验证二叉搜索树
哈希表
每日一题
- [x] 【day-19】1.两数之和
- [x] 【day-20】347.前 K 个高频元素
- [x] 【day-21】447.回旋镖的数量
- [x] 【day-22】3.无重复字符的最长子串
- [x] 【day-23】30.串联所有单词的子串
- [x] 【day-24】37.解数独
哈希表拓展题目
- [x] 645.错误的集合
- [x] 面试题 04.01.节点间通路
- [ ] 36.有效的数独
- [x] 149.直线上最多的点数
双指针
每日一题
- [x] 【day-25】35.搜索插入位置
- [x] 【day-26】74.搜索二维矩阵
- [x] 【day-27】26.删除排序数组中的重复项
- [x] 【day-28】876.链表的中间结点
- [x] 【day-29】1052.爱生气的书店老板
- [x] 【day-30】239.滑动窗口最大值
双指针拓展题目
- [x] 875.爱吃香蕉的珂珂
- [x] 167.两数之和 II - 输入有序数组
- [x] 42.接雨水
- [x] 面试题 17.11.单词距离
- [ ] 11.盛最多水的容器
进阶篇
高频面试题
二叉树遍历系列
- [x] 【day-34】二叉树遍历系列
反转链表系列
- [x] 【day-35】206.反转链表
- [x] 【day-35】92.反转链表 II
- [x] 【day-35】25.K 个一组翻转链表
位运算系列
- [ ] 【day-36】78.子集
动态规划系列
- [x] 【day-37】62.不同路径
- [x] 673. 最长递增子序列的个数
- [ ] 70. 爬楼梯
- [ ] 121. 买卖股票的最佳时机
- [ ] 122. 买卖股票的最佳时机 II
- [ ] 123. 买卖股票的最佳时机 III
- [ ] 188. 买卖股票的最佳时机 IV
- [ ] 309. 最佳买卖股票时机含冷冻期
- [ ] 714. 买卖股票的最佳时机含手续费
有效括号系列
- [x] 【day-38】20.有效括号
- [x] 【day-38】32.最长有效括号
设计系列
- [ ] 【day-39】剑指 Offer09.用两个栈实现队列
- [ ] 【day-39】641.设计循环双端队列
- [x] 【day-39】146.LRU 缓存机制
- [ ] 【day-39】1206.设计跳表
前缀和系列
- [x] 【day-40】网易面试题
- [x] 【day-40】560.和为 K 的子数组
- [x] 【day-40】1371.每个元音包含偶数次的最长子字符串
前缀树
- [x] 【day-41】208.实现 Trie
- [x] 【day-42】677.键值映射
- [x] 【day-43】面试题 17.17.多次搜索
并查集
每日一题
- [x] 【day-44】547.朋友圈
- [x] 【day-45】924.尽量减少恶意软件的传播
- [x] 【day-46】1319.连通网络的操作次数
拓展
- [x] 1202.交换字符串中的元素
跳表
- [ ] 【day-47】1206.设计跳表
剪枝
每日一题
- [x] 【day-48】814.二叉树剪枝
- [x] 【day-49】39.组合总和
- [x] 【day-50】40.组合总和 II
- [ ] 【day-51】47.全排列 II
字符串匹配
每日一题
- [ ] 【day-52】28.实现 strStr()
拓展题目
- [ ] 1371.每个元音包含偶数次的最长子字符串
- [ ] 面试题 17.13.恢复空格
- [ ] 1316.不同的循环子字符串
- [ ] 215.数组中的第 K 个最大元素
- [ ] 451.根据字符出现频率排序
- [ ] 295.数据流的中位数
- [ ] 378.有序矩阵中第 K 小的元素
- [ ] 1054.距离相等的条形码
- [ ] 面试题 17.09.第 k 个数
堆
每日一题
- [x] 【day-54】215.数组中的第 K 个最大元素
- [x] 【day-55】1046.最后一块石头的重量
- [x] 【day-56】23.合并 K 个升序链表
- [x] 【day-57】451.根据字符出现频率排序
- [x] 【day-58】378.有序矩阵中第 K 小的元素
- [x] 【day-59】1054.距离相等的条形码
专题篇
二分法
每日一题
- [x] 【day-61】69.x 的平方根
- [x] 【day-62】278.第一个错误的版本
- [x] 【day-63】162.寻找峰值
拓展题目
- [x] 33.搜索旋转排序数组
- [x] 81.搜索旋转排序数组 II
- [ ] 34.在排序数组中查找元素的第一个和最后一个位置
- [ ] 4.寻找两个正序数组的中位数
- [ ] 222.完全二叉树的节点个数
滑动窗口
每日一题
- [x] 【day-67】1456.定长子串中元音的最大数目
- [ ] 【day-70】76.最小覆盖子串
- [ ] 【day-71】30.串联所有单词的子串
拓展题目
- [x] 581.最短无序连续子数组
位运算
- [ ] 【day-72】268.缺失数字
- [ ] 【day-73】78.子集
搜索(BFS, DFS, 回溯)
-
[x] 【day-74】1254.统计封闭岛屿的数目
-
[ ] 【day-75】 51.N 皇后
-
[ ] 【day-76】 130.被围绕的区域
-
[ ] 【day-77】 827.最大人工岛
-
[ ] 【day-78】 89.格雷编码
-
[x] 【day-79】980.不同路径 III
-
[x] 5210.球会落何处
背包问题
- [x] 【day-80】322.零钱兑换
- [x] 【day-81】416. 分割等和子集
- [x] 【day-82】494. 目标和
- [ ] 【day-83】474. 一和零
动态规划
- [ ] 【day-84】爬楼梯变种
- [ ] 【day-85】铺地毯-2021 网易校招
- [ ] 【day-86】935.骑士拨号器
- [ ] 【day-87】1458.两个子序列的最大点积
分治
- [x] 【day-88】96.不同的二叉搜索树
- [ ] 【day-89】23.合并 K 个升序链表
贪心
每日一题
- [ ] 【day-90】765.情侣牵手
- [x] 【day-91】881.救生艇
贪心拓展题目
- [x] 135.分发糖果
- [x] 455.分发饼干
- [x] 976.三角形的最大周长
- [x] 435.无重叠区间
- [x] 605.种花问题
其他
- [x] 77.组合
- [x] 5.最长回文子串
- [ ] 面试题 04.09. 二叉搜索树序列