Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 动态规划系列/LCS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/动态规划之KMP字符匹配算法.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/动态规划之博弈问题.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/动态规划之四键键盘.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/动态规划之正则表达.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/动态规划详解进阶.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/单词拼接.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/团灭股票问题.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/子序列问题模板.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/抢房子.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
6 changes: 4 additions & 2 deletions 动态规划系列/最优子结构.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 动态规划答疑篇
# 动态规划系列答疑篇

<p align='center'>
<a href="https://github.com/labuladong/fucking-algorithm" target="view_window"><img alt="GitHub" src="https://img.shields.io/github/stars/labuladong/fucking-algorithm?label=Stars&style=flat-square&logo=GitHub"></a>
Expand All @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down Expand Up @@ -345,8 +345,10 @@ for (int i = 1; i < m; i++)
- [一个方法团灭 LeetCode 股票买卖问题](https://labuladong.github.io/article/fname.html?fname=团灭股票问题)
- [分治算法详解:运算优先级](https://labuladong.github.io/article/fname.html?fname=分治算法)
- [动态规划解题套路框架](https://labuladong.github.io/article/fname.html?fname=动态规划详解进阶)
- [对动态规划进行降维打击](https://labuladong.github.io/article/fname.html?fname=状态压缩技巧)
- [经典动态规划:博弈问题](https://labuladong.github.io/article/fname.html?fname=动态规划之博弈问题)
- [经典动态规划:戳气球](https://labuladong.github.io/article/fname.html?fname=扎气球)
- [经典动态规划:正则表达式](https://labuladong.github.io/article/fname.html?fname=动态规划之正则表达)

</details><hr>

Expand Down
24 changes: 17 additions & 7 deletions 动态规划系列/状态压缩技巧.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



**-----------**

写在最前面:状态压缩并不难,可以理解为一种投机取巧的办法去优化某些动态规划问题的空间复杂度。我个人认为状态压缩并不是必须掌握的技巧,如果你对这个技巧感兴趣,务必阅读并理解 [动态规划系列答疑篇](https://labuladong.github.io/article/fname.html?fname=最优子结构)。

我们号之前写过十几篇动态规划文章,可以说动态规划技巧对于算法效率的提升非常可观,一般来说都能把指数级和阶乘级时间复杂度的算法优化成 O(N^2),堪称算法界的二向箔,把各路魑魅魍魉统统打成二次元。

但是,动态规划求解的过程中也是可以进行阶段性优化的,如果你认真观察某些动态规划问题的状态转移方程,就能够把它们解法的空间复杂度进一步降低,由 O(N^2) 降低到 O(N)。
Expand Down Expand Up @@ -58,7 +60,9 @@ int longestPalindromeSubseq(string s) {

![](https://labuladong.gitee.io/pictures/状态压缩/2.jpeg)

思路很直观,但是也有一个明显的问题,图中 `dp[i][j-1]` 和 `dp[i+1][j-1]` 这两个状态处在同一列,而一维数组中只能容下一个,那么当我计算 `dp[i][j]` 时,他俩必然有一个会被另一个覆盖掉,怎么办?
「投影」这个词应该比较形象吧,说白了就是希望让一维数组发挥原来二维数组的作用。

思路很直观,但是也有一个明显的问题,图中 `dp[i][j-1]` 和 `dp[i+1][j-1]` 这两个状态处在同一列,而一维数组中只能容下一个,那么他俩投影到一维必然有一个会被另一个覆盖掉,我还怎么计算 `dp[i][j]` 呢?

这就是空间压缩的难点,下面就来分析解决这个问题,还是拿「最长回文子序列」问题举例,它的状态转移方程主要逻辑就是如下这段代码:

Expand All @@ -74,7 +78,7 @@ for (int i = n - 2; i >= 0; i--) {
}
```

想把二维 `dp` 数组压缩成一维,一般来说是把第一个维度,也就是 `i` 这个维度去掉,只剩下 `j` 这个维度。**压缩后的一维 `dp` 数组就是之前二维 `dp` 数组的 `dp[i][..]` 那一行**。
回想上面的图,「投影」其实就是把多行变成一行,所以想把二维 `dp` 数组压缩成一维,一般来说是把第一个维度,也就是 `i` 这个维度去掉,只剩下 `j` 这个维度。**压缩后的一维 `dp` 数组就是之前二维 `dp` 数组的 `dp[i][..]` 那一行**。

我们先将上述代码进行改造,直接无脑去掉 `i` 这个维度,把 `dp` 数组变成一维:

Expand Down Expand Up @@ -145,14 +149,20 @@ for (int i = n - 2; i >= 0; i--) {
假设现在 `i = 5, j = 7` 且 `s[5] == s[7]`,那么现在会进入下面这个逻辑对吧:

```cpp
if (s[5] == s[7])
// dp[5][7] = dp[i+1][j-1] + 2;
dp[7] = pre + 2;
for (int i = 5; i--) {
for (int j = 7; j++) {
if (s[5] == s[7])
// dp[5][7] = dp[i+1][j-1] + 2;
dp[7] = pre + 2;
}
}
```

我问你这个 `pre` 变量是什么?是内层 for 循环上一次迭代的 `temp` 值。

那我再问你内层 for 循环上一次迭代的 `temp` 值是什么?是 `dp[j-1]` 也就是 `dp[6]`,但这是外层 for 循环上一次迭代对应的 `dp[6]`,也就是二维 `dp` 数组中的 `dp[i+1][6] = dp[6][6]`。
那我再问你**内层** for 循环上一次迭代的 `temp` 值是什么?是 `dp[j-1]` 也就是 `dp[6]`,但请注意,这是**外层** for 循环**上一次迭代**对应的 `dp[6]`,不是现在的 `dp[6]`。

这个要对应二维数组的索引来理解。你现在的 `dp[6]` 是二维 `dp` 数组中的 `dp[i][6] = dp[5][6]`,而人家这个 `temp` 是二维 `dp` 数组中的 `dp[i+1][6] = dp[6][6]`。

也就是说,`pre` 变量就是 `dp[i+1][j-1] = dp[6][6]`,也就是我们想要的结果。

Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/编辑距离.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/背包问题.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/贪心算法之区间调度问题.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/高楼扔鸡蛋问题.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 动态规划系列/魔塔.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 技术/linuxshell.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 技术/linux进程.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
2 changes: 1 addition & 1 deletion 技术/redis入侵.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

![](https://labuladong.gitee.io/pictures/souyisou1.png)

**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 已更新到 V2.1,[手把手刷二叉树系列课程](https://aep.xet.tech/s/3YGcq3) 上线,第 17 期刷题打卡 [开始报名](https://aep.xet.tech/s/2jPp5X)。另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**



Expand Down
Loading