diff --git a/README.md b/README.md
index 871a059..8b6e83b 100644
--- a/README.md
+++ b/README.md
@@ -129,6 +129,7 @@ PDF 共两本,一本《labuladong 的算法秘籍》类似教材,帮你系
* [配套 Chrome 刷题插件](https://labuladong.github.io/article/fname.html?fname=chrome插件简介)
* [配套 vscode 刷题插件](https://labuladong.github.io/article/fname.html?fname=vscode插件简介)
* [配套 JetBrains 刷题插件](https://labuladong.github.io/article/fname.html?fname=jb插件简介)
+ * [算法可视化功能简介](https://labuladong.github.io/article/fname.html?fname=可视化简介)
* [数据结构精品课](https://labuladong.github.io/article/fname.html?fname=ds课程简介)
* [二叉树(递归)专题课](https://labuladong.github.io/article/fname.html?fname=tree课程简介)
* [14 天刷题打卡挑战](https://labuladong.github.io/article/fname.html?fname=打卡挑战简介)
diff --git a/动态规划系列/LCS.md b/动态规划系列/LCS.md
index ceb49a8..5997cdc 100644
--- a/动态规划系列/LCS.md
+++ b/动态规划系列/LCS.md
@@ -19,7 +19,7 @@ xiaoeID: i_6298793ae4b09dda12708be8

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/动态规划之KMP字符匹配算法.md b/动态规划系列/动态规划之KMP字符匹配算法.md
index 624d644..4826868 100644
--- a/动态规划系列/动态规划之KMP字符匹配算法.md
+++ b/动态规划系列/动态规划之KMP字符匹配算法.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/r9pbkMyFyMAvmkf4QnL-1g

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/动态规划之博弈问题.md b/动态规划系列/动态规划之博弈问题.md
index 8f907ef..908f461 100644
--- a/动态规划系列/动态规划之博弈问题.md
+++ b/动态规划系列/动态规划之博弈问题.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/xTeOzqNiGJwbwIpS3ySZqw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/动态规划之四键键盘.md b/动态规划系列/动态规划之四键键盘.md
index 6956765..dd52dac 100644
--- a/动态规划系列/动态规划之四键键盘.md
+++ b/动态规划系列/动态规划之四键键盘.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/DeanOw0acBNU1ZoI4cE8nw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/动态规划之正则表达.md b/动态规划系列/动态规划之正则表达.md
index 90e0ebf..4526890 100644
--- a/动态规划系列/动态规划之正则表达.md
+++ b/动态规划系列/动态规划之正则表达.md
@@ -19,7 +19,7 @@ xiaoeID: i_6298796ae4b01a4852072fb9

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/动态规划设计:最长递增子序列.md b/动态规划系列/动态规划设计:最长递增子序列.md
index 8727d75..4471c98 100644
--- a/动态规划系列/动态规划设计:最长递增子序列.md
+++ b/动态规划系列/动态规划设计:最长递增子序列.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/mvv1tsHmjUJUOLpwhCnGSQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/动态规划详解进阶.md b/动态规划系列/动态规划详解进阶.md
index 91c7102..0127491 100644
--- a/动态规划系列/动态规划详解进阶.md
+++ b/动态规划系列/动态规划详解进阶.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/Cw39C9MY9Wr2JlcvBQZMcA

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -34,6 +34,8 @@ wechat: https://mp.weixin.qq.com/s/Cw39C9MY9Wr2JlcvBQZMcA
> tip:本文有视频版:[动态规划框架套路详解](https://www.bilibili.com/video/BV1XV411Y7oE)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
这篇文章是我们公众号半年前一篇 200 多赞赏的成名之作 [动态规划详解](https://mp.weixin.qq.com/s/1V3aHVonWBEXlNUvK3S28w) 的进阶版。由于账号迁移的原因,旧文无法被搜索到,所以我润色了本文,并添加了更多干货内容,希望本文成为解决动态规划的一部「指导方针」。
动态规划问题(Dynamic Programming)应该是很多读者头疼的,不过这类问题也是最具有技巧性,最有意思的。本书使用了整整一个章节专门来写这个算法,动态规划的重要性也可见一斑。
@@ -480,6 +482,7 @@ int coinChange(int[] coins, int amount) {
- [我的刷题心得](https://labuladong.github.io/article/fname.html?fname=算法心得)
- [旅游省钱大法:加权最短路径](https://labuladong.github.io/article/fname.html?fname=旅行最短路径)
- [最优子结构原理和 dp 数组遍历方向](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=刷题技巧)
diff --git a/动态规划系列/单词拼接.md b/动态规划系列/单词拼接.md
index 16b3fc4..e05f89d 100644
--- a/动态规划系列/单词拼接.md
+++ b/动态规划系列/单词拼接.md
@@ -16,7 +16,7 @@ wechat: https://mp.weixin.qq.com/s/iL7tCl6pqw0fTatGSemY-g

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/团灭股票问题.md b/动态规划系列/团灭股票问题.md
index a396b85..ed3c81f 100644
--- a/动态规划系列/团灭股票问题.md
+++ b/动态规划系列/团灭股票问题.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/4nqJMIyCKQD7IJ-HI6S3Vg

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/子序列问题模板.md b/动态规划系列/子序列问题模板.md
index c41af47..4019ec0 100644
--- a/动态规划系列/子序列问题模板.md
+++ b/动态规划系列/子序列问题模板.md
@@ -19,7 +19,7 @@ xiaoeID: i_62987943e4b01c509ab8b6aa

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/抢房子.md b/动态规划系列/抢房子.md
index fca2e6e..9c457e0 100644
--- a/动态规划系列/抢房子.md
+++ b/动态规划系列/抢房子.md
@@ -18,7 +18,7 @@ xiaoeID: i_62987952e4b09dda12708bf8

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/最优子结构.md b/动态规划系列/最优子结构.md
index f0bbfa6..6864397 100644
--- a/动态规划系列/最优子结构.md
+++ b/动态规划系列/最优子结构.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/zhaurXhrAiHsfgGAOfAuMw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -26,6 +26,8 @@ wechat: https://mp.weixin.qq.com/s/zhaurXhrAiHsfgGAOfAuMw
> tip:本文有视频版:[动态规划详解进阶](https://www.bilibili.com/video/BV1uv411W73P/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
本文是两年前发的 [动态规划答疑篇](https://mp.weixin.qq.com/s/qvlfyKBiXVX7CCwWFR-XKg) 的修订版,根据我的不断学习总结以及读者的评论反馈,我给扩展了更多内容,力求使本文成为继 [动态规划核心套路框架](https://labuladong.github.io/article/fname.html?fname=动态规划详解进阶) 之后的一篇全面答疑文章。以下是正文。
这篇文章就给你讲明白以下几个问题:
diff --git a/动态规划系列/状态压缩技巧.md b/动态规划系列/状态压缩技巧.md
index 03be6b5..a9d5822 100644
--- a/动态规划系列/状态压缩技巧.md
+++ b/动态规划系列/状态压缩技巧.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/SnyN1Gn6DTLm0uJyp5l6CQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/编辑距离.md b/动态规划系列/编辑距离.md
index 3328c0a..fe58f69 100644
--- a/动态规划系列/编辑距离.md
+++ b/动态规划系列/编辑距离.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/uWzSvWWI-bWAV3UANBtyOw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -31,6 +31,8 @@ wechat: https://mp.weixin.qq.com/s/uWzSvWWI-bWAV3UANBtyOw
> tip:本文有视频版:[编辑距离详解动态规划](https://www.bilibili.com/video/BV1uv411W73P/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
前几天看了一份鹅厂的面试题,算法部分大半是动态规划,最后一题就是写一个计算编辑距离的函数,今天就专门写一篇文章来探讨一下这个问题。
我个人很喜欢编辑距离这个问题,因为它看起来十分困难,解法却出奇得简单漂亮,而且它是少有的比较实用的算法(我承认很多算法问题都不太实用)。
diff --git a/动态规划系列/背包问题.md b/动态规划系列/背包问题.md
index 551d462..8f394ab 100644
--- a/动态规划系列/背包问题.md
+++ b/动态规划系列/背包问题.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/RXfnhSpVBmVneQjDSUSAVQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -26,6 +26,8 @@ wechat: https://mp.weixin.qq.com/s/RXfnhSpVBmVneQjDSUSAVQ
> tip:本文有视频版:[0-1背包问题详解](https://www.bilibili.com/video/BV15B4y1P7X7/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
后台天天有人问背包问题,这个问题其实不难啊,如果我们号动态规划系列的十几篇文章你都看过,借助框架,遇到背包问题可以说是手到擒来好吧。无非就是状态 + 选择,也没啥特别之处嘛。
今天就来说一下背包问题吧,就讨论最常说的 0-1 背包问题。描述:
diff --git a/动态规划系列/贪心算法之区间调度问题.md b/动态规划系列/贪心算法之区间调度问题.md
index 1be7787..3e51980 100644
--- a/动态规划系列/贪心算法之区间调度问题.md
+++ b/动态规划系列/贪心算法之区间调度问题.md
@@ -19,7 +19,7 @@ xiaoeID: i_649bf3aee4b09d72379e4576

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/高楼扔鸡蛋问题.md b/动态规划系列/高楼扔鸡蛋问题.md
index e2e9cf5..c051feb 100644
--- a/动态规划系列/高楼扔鸡蛋问题.md
+++ b/动态规划系列/高楼扔鸡蛋问题.md
@@ -18,7 +18,7 @@ xiaoeID: i_6298795de4b01a4852072fa7

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/动态规划系列/魔塔.md b/动态规划系列/魔塔.md
index 1085fee..0289613 100644
--- a/动态规划系列/魔塔.md
+++ b/动态规划系列/魔塔.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/MydL7eyzdfJc6jYZNwFWWw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/技术/linuxshell.md b/技术/linuxshell.md
index 407aa7b..cb39606 100644
--- a/技术/linuxshell.md
+++ b/技术/linuxshell.md
@@ -14,7 +14,7 @@ wechat: https://mp.weixin.qq.com/s/h3SXmZ2yMtOKEKdACUx1Ew

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/技术/linux进程.md b/技术/linux进程.md
index c12ed19..657c62f 100644
--- a/技术/linux进程.md
+++ b/技术/linux进程.md
@@ -14,7 +14,7 @@ wechat: https://mp.weixin.qq.com/s/USb5e2Zoc0LRgRShRpTYfg

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/技术/redis入侵.md b/技术/redis入侵.md
index b50d0da..9153b38 100644
--- a/技术/redis入侵.md
+++ b/技术/redis入侵.md
@@ -13,7 +13,7 @@ wechat: https://mp.weixin.qq.com/s/5W_IoGBibczKBCt1-2UTww

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/技术/session和cookie.md b/技术/session和cookie.md
index 627fde1..8adb7fc 100644
--- a/技术/session和cookie.md
+++ b/技术/session和cookie.md
@@ -14,7 +14,7 @@ wechat: https://mp.weixin.qq.com/s/lEAFW9ZSiqHJOfMnznPPHA

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/技术/刷题技巧.md b/技术/刷题技巧.md
index 590ed0e..83c6b03 100644
--- a/技术/刷题技巧.md
+++ b/技术/刷题技巧.md
@@ -4,6 +4,7 @@ hidden: false
number: '859'
title: 算法笔试骗分套路
wechat: https://mp.weixin.qq.com/s/3UcrfTfOEYy1U3-aCjcWOA
+xiaoeID: i_64a923dde4b007b201a392d0
---
@@ -15,7 +16,7 @@ wechat: https://mp.weixin.qq.com/s/3UcrfTfOEYy1U3-aCjcWOA

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -47,6 +48,8 @@ wechat: https://mp.weixin.qq.com/s/3UcrfTfOEYy1U3-aCjcWOA

+接下来介绍几个很实用的「投机取巧」的办法和调试技巧,全方位提高你通过笔试的概率。
+
### 避实就虚
大家也知道,大部分笔试题目都需要你自己来处理输入数据,然后让程序打印输出。判题的底层原理是,把你程序的输出用 Linux 重定向符 `>` 写到文件里面,然后比较你的输出和正确答案是否相同。
@@ -55,7 +58,7 @@ wechat: https://mp.weixin.qq.com/s/3UcrfTfOEYy1U3-aCjcWOA
那你怎么做?真就自己定义一个 `ListNode` 单链表节点类,然后再写代码把输入转化成一个单链表,然后再用让人头晕的指针操作去老老实实翻转单链表?
-搞清楚我们是来 AC 题目的,不是来学习算法思维的。正确的做法是直接把输入存到数组里,然后用 [双指针技巧](https://labuladong.github.io/article/fname.html?fname=双指针技巧) 几行代码给它翻转了,然后打印出来完事儿。
+搞清楚我们是来 AC 题目的,不是来学习算法思维的,判题系统是无法准确判断的算法逻辑的,只能判断你的输出是否正确。所以取巧的做法是直接把输入存到数组里,然后用 [双指针技巧](https://labuladong.github.io/article/fname.html?fname=双指针技巧) 几行代码给它翻转了,然后打印出来完事儿。
我就见过不少这种题目,比如题目说输入的是一个单链表,让我分组翻转链表,而且还特别强调要用递归实现,就是我们前文 [K 个一组翻转链表](https://labuladong.github.io/article/fname.html?fname=k个一组反转链表) 的算法。嗯,如果用数组进行翻转,两分钟就写出来了,嘿嘿。
diff --git a/技术/在线练习平台.md b/技术/在线练习平台.md
index e0233b6..7acf5a9 100644
--- a/技术/在线练习平台.md
+++ b/技术/在线练习平台.md
@@ -14,7 +14,7 @@ wechat: https://mp.weixin.qq.com/s/rSc4b-mdZSLuqBmvPWF8Vw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/技术/密码技术.md b/技术/密码技术.md
index bbd31f9..ee28e8b 100644
--- a/技术/密码技术.md
+++ b/技术/密码技术.md
@@ -15,7 +15,7 @@ wechat: https://mp.weixin.qq.com/s/HvZsBiNn9tPcq11fmWgcLQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/数据结构系列/BST1.md b/数据结构系列/BST1.md
index 60b45a1..b737d5a 100644
--- a/数据结构系列/BST1.md
+++ b/数据结构系列/BST1.md
@@ -21,7 +21,7 @@ xiaoeID: i_63a84f9de4b06159f7250324

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -38,7 +38,12 @@ xiaoeID: i_63a84f9de4b06159f7250324
> tip:本文有视频版:[动手实现 TreeMap](https://appktavsiei5995.pc.xiaoe-tech.com/detail/p_62655516e4b0cedf38a93758/6)。
-> note:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+
+
+> info:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+
前文手把手带你刷二叉树已经写了 [第一期](https://labuladong.github.io/article/fname.html?fname=二叉树系列1),[第二期](https://labuladong.github.io/article/fname.html?fname=二叉树系列2) 和 [第三期](https://labuladong.github.io/article/fname.html?fname=二叉树系列3),今天写一篇二叉搜索树(Binary Search Tree,后文简写 BST)相关的文章,手把手带你刷 BST。
diff --git a/数据结构系列/BST2.md b/数据结构系列/BST2.md
index 4269a9e..b304dca 100644
--- a/数据结构系列/BST2.md
+++ b/数据结构系列/BST2.md
@@ -21,7 +21,7 @@ xiaoeID: i_63a84fb7e4b07b0558298a07

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -36,7 +36,10 @@ xiaoeID: i_63a84fb7e4b07b0558298a07
**-----------**
-> note:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+> info:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+
我们前文 [东哥带你刷二叉搜索树(特性篇)](https://labuladong.github.io/article/fname.html?fname=BST1) 介绍了 BST 的基本特性,还利用二叉搜索树「中序遍历有序」的特性来解决了几道题目,本文来实现 BST 的基础操作:判断 BST 的合法性、增、删、查。其中「删」和「判断合法性」略微复杂。
diff --git a/数据结构系列/dijkstra算法.md b/数据结构系列/dijkstra算法.md
index 96ff969..c7e9053 100644
--- a/数据结构系列/dijkstra算法.md
+++ b/数据结构系列/dijkstra算法.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/RXR18dNUyIVoCQXrO46gWA

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/数据结构系列/二叉堆详解实现优先级队列.md b/数据结构系列/二叉堆详解实现优先级队列.md
index 2e6ce5f..3537d47 100644
--- a/数据结构系列/二叉堆详解实现优先级队列.md
+++ b/数据结构系列/二叉堆详解实现优先级队列.md
@@ -20,7 +20,7 @@ xiaoeID: i_633faa07e4b0a51fef24c4e9

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/数据结构系列/二叉树总结.md b/数据结构系列/二叉树总结.md
index d61f89a..71bc202 100644
--- a/数据结构系列/二叉树总结.md
+++ b/数据结构系列/二叉树总结.md
@@ -22,7 +22,7 @@ xiaoeID: i_63a84ecde4b030cacaff6731

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -39,7 +39,12 @@ xiaoeID: i_63a84ecde4b030cacaff6731
> tip:本文有视频版:[二叉树/递归的框架思维(纲领篇)](https://www.bilibili.com/video/BV1nG411x77H/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
-> note:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+
+
+> info:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+
我的公众号历史文章的整个脉络都是按照 [学习数据结构和算法的框架思维](https://labuladong.github.io/article/fname.html?fname=学习数据结构和算法的高效方法) 提出的框架来构建的,其中着重强调了二叉树题目的重要性,所以把本文放在第一章的必读系列中。
@@ -938,6 +943,7 @@ class Solution {
- [在插件中解锁二叉树专属题解](https://labuladong.github.io/article/fname.html?fname=解锁tree插件)
- [归并排序详解及应用](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=心流)
diff --git a/数据结构系列/二叉树系列1.md b/数据结构系列/二叉树系列1.md
index a4e3f6d..cfcc79d 100644
--- a/数据结构系列/二叉树系列1.md
+++ b/数据结构系列/二叉树系列1.md
@@ -20,7 +20,7 @@ xiaoeID: i_63a84de7e4b030cacaff66fa

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -37,11 +37,16 @@ xiaoeID: i_63a84de7e4b030cacaff66fa
> tip:本文有视频版:[二叉树/递归的框架思维(纲领篇)](https://www.bilibili.com/video/BV1nG411x77H/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
-> note:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+
+
+> info:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+
本文承接 [东哥带你刷二叉树(纲领篇)](https://labuladong.github.io/article/fname.html?fname=二叉树总结),先复述一下前文总结的二叉树解题总纲:
-> tip:二叉树解题的思维模式分两类:
+> note:二叉树解题的思维模式分两类:
>
> **1、是否可以通过遍历一遍二叉树得到答案**?如果可以,用一个 `traverse` 函数配合外部变量来实现,这叫「遍历」的思维模式。
>
@@ -53,7 +58,7 @@ xiaoeID: i_63a84de7e4b030cacaff66fa
本文就以几道比较简单的题目为例,带你实践运用这几条总纲,理解「遍历」的思维和「分解问题」的思维有何区别和联系。
-### 一、翻转二叉树
+### 第一题、翻转二叉树
我们先从简单的题开始,看看力扣第 226 题「翻转二叉树」,输入一个二叉树根节点 `root`,让你把整棵树镜像翻转,比如输入的二叉树如下:
diff --git a/数据结构系列/二叉树系列2.md b/数据结构系列/二叉树系列2.md
index c4fb5dc..f315d6b 100644
--- a/数据结构系列/二叉树系列2.md
+++ b/数据结构系列/二叉树系列2.md
@@ -20,7 +20,7 @@ xiaoeID: i_63a84e1ce4b0fc5d121bba25

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -36,11 +36,14 @@ xiaoeID: i_63a84e1ce4b0fc5d121bba25
**-----------**
-> note:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+> info:在开头先打个广告,我的 [手把手刷二叉树课程](https://aep.xet.tech/s/3YGcq3) 按照公式和套路讲解了 150 道二叉树题目,只需一顿饭钱,就能手把手带你刷完二叉树分类的题目,迅速掌握递归思维,让你豁然开朗。我绝对有这个信心,信不信,可以等你看完我的二叉树算法系列文章再做评判。
+
+
本文是承接 [东哥带你刷二叉树(纲领篇)](https://labuladong.github.io/article/fname.html?fname=二叉树总结) 的第二篇文章,先复述一下前文总结的二叉树解题总纲:
-> tip:二叉树解题的思维模式分两类:
+> note:二叉树解题的思维模式分两类:
>
> **1、是否可以通过遍历一遍二叉树得到答案**?如果可以,用一个 `traverse` 函数配合外部变量来实现,这叫「遍历」的思维模式。
>
diff --git a/数据结构系列/单调栈.md b/数据结构系列/单调栈.md
index 744a840..ef7272e 100644
--- a/数据结构系列/单调栈.md
+++ b/数据结构系列/单调栈.md
@@ -19,7 +19,7 @@ xiaoeID: i_627cd21ce4b01a4851fe126d

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/数据结构系列/单调队列.md b/数据结构系列/单调队列.md
index f051914..2d0f4cf 100644
--- a/数据结构系列/单调队列.md
+++ b/数据结构系列/单调队列.md
@@ -19,7 +19,7 @@ xiaoeID: i_627cd285e4b01a4851fe12be

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -51,7 +51,7 @@ xiaoeID: i_627cd285e4b01a4851fe12be
比方说,你注意看前文 [滑动窗口核心框架](https://labuladong.github.io/article/fname.html?fname=滑动窗口技巧进阶) 讲的几道题目,每当窗口扩大(`right++`)和窗口缩小(`left++`)时,你单凭移出和移入窗口的元素即可决定是否更新答案。
-但就本文开头说的那个判断一个窗口中最值的例子,你就无法单凭移出窗口的那个元素更新窗口的最值,除非重新遍历所有元素,但这样的话时间复杂度就上来了,这是我们不希望看到的。
+但本文开头说的那个判断一个窗口中最值的例子,你无法单凭移出窗口的那个元素更新窗口的最值,除非重新遍历所有元素,但这样的话时间复杂度就上来了,这是我们不希望看到的。
我们来看看力扣第 239 题「滑动窗口最大值」,就是一道标准的滑动窗口问题:
diff --git a/数据结构系列/图.md b/数据结构系列/图.md
index b71d282..482b9c9 100644
--- a/数据结构系列/图.md
+++ b/数据结构系列/图.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/olJRzW6be6ltvWUqVBVf5Q

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -33,6 +33,8 @@ wechat: https://mp.weixin.qq.com/s/olJRzW6be6ltvWUqVBVf5Q
> tip:本文有视频版:[图论基础及遍历算法](https://www.bilibili.com/video/BV19G41187cL/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
经常有读者问我「图」这种数据结构,其实我在 [学习数据结构和算法的框架思维](https://labuladong.github.io/article/fname.html?fname=学习数据结构和算法的高效方法) 中说过,虽然图可以玩出更多的算法,解决更复杂的问题,但本质上图可以认为是多叉树的延伸。
面试笔试很少出现图相关的问题,就算有,大多也是简单的遍历问题,基本上可以完全照搬多叉树的遍历。
diff --git a/数据结构系列/实现计算器.md b/数据结构系列/实现计算器.md
index 3edcf57..5829b8c 100644
--- a/数据结构系列/实现计算器.md
+++ b/数据结构系列/实现计算器.md
@@ -22,7 +22,7 @@ wechat: https://mp.weixin.qq.com/s/ds0guq9gPTLIHLEQnFxZVQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/数据结构系列/拓扑排序.md b/数据结构系列/拓扑排序.md
index b78f874..c620897 100644
--- a/数据结构系列/拓扑排序.md
+++ b/数据结构系列/拓扑排序.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/xHmzLa4LtxOHEro0g3rBZw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -34,6 +34,8 @@ wechat: https://mp.weixin.qq.com/s/xHmzLa4LtxOHEro0g3rBZw
> tip:本文有视频版:[拓扑排序详解及应用](https://www.bilibili.com/video/BV1kW4y1y7Ew/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
图这种数据结构有一些比较特殊的算法,比如二分图判断,有环图无环图的判断,拓扑排序,以及最经典的最小生成树,单源最短路径问题,更难的就是类似网络流这样的问题。
不过以我的经验呢,像网络流这种问题,你又不是打竞赛的,没时间的话就没必要学了;像 [最小生成树](https://labuladong.github.io/article/fname.html?fname=prim算法) 和 [最短路径问题](https://labuladong.github.io/article/fname.html?fname=dijkstra算法),虽然从刷题的角度用到的不多,但它们属于经典算法,学有余力可以掌握一下;像 [二分图判定](https://labuladong.github.io/article/fname.html?fname=二分图)、拓扑排序这一类,属于比较基本且有用的算法,应该比较熟练地掌握。
diff --git a/数据结构系列/设计Twitter.md b/数据结构系列/设计Twitter.md
index 064c270..b971a8b 100644
--- a/数据结构系列/设计Twitter.md
+++ b/数据结构系列/设计Twitter.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/Bv_nZpPQFoyk10OEijN20A

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/数据结构系列/递归反转链表的一部分.md b/数据结构系列/递归反转链表的一部分.md
index 7c83692..cd8d3aa 100644
--- a/数据结构系列/递归反转链表的一部分.md
+++ b/数据结构系列/递归反转链表的一部分.md
@@ -20,7 +20,7 @@ xiaoeID: i_6328884fe4b0c94264975475

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/数据结构系列/队列实现栈栈实现队列.md b/数据结构系列/队列实现栈栈实现队列.md
index 31fc0c9..403c5dc 100644
--- a/数据结构系列/队列实现栈栈实现队列.md
+++ b/数据结构系列/队列实现栈栈实现队列.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/zjJ43PrJdYg3xFzGTwtqhA

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/BFS框架.md b/算法思维系列/BFS框架.md
index f156e1e..d46413a 100644
--- a/算法思维系列/BFS框架.md
+++ b/算法思维系列/BFS框架.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/WH_XGm1-w5882PnenymZ7g

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -34,6 +34,8 @@ wechat: https://mp.weixin.qq.com/s/WH_XGm1-w5882PnenymZ7g
> tip:本文有视频版:[BFS 算法核心框架套路](https://www.bilibili.com/video/BV1oT411u7Vn/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
后台有很多人问起 BFS 和 DFS 的框架,今天就来说说吧。
首先,你要说我没写过 BFS 框架,这话没错,今天写个框架你背住就完事儿了。但要是说没写过 DFS 框架,那你还真是说错了,**其实 DFS 算法就是回溯算法**,我们前文 [回溯算法框架套路详解](https://labuladong.github.io/article/fname.html?fname=回溯算法详解修订版) 就写过了,而且写得不是一般得好,建议好好复习,嘿嘿嘿~
diff --git a/算法思维系列/BFS解决滑动拼图.md b/算法思维系列/BFS解决滑动拼图.md
index 3fb5f4d..f3f39e0 100644
--- a/算法思维系列/BFS解决滑动拼图.md
+++ b/算法思维系列/BFS解决滑动拼图.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/Xn-oW7QRu8spYzL3B6zLxw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/UnionFind算法详解.md b/算法思维系列/UnionFind算法详解.md
index f3cc3d4..33c58b7 100644
--- a/算法思维系列/UnionFind算法详解.md
+++ b/算法思维系列/UnionFind算法详解.md
@@ -19,7 +19,7 @@ wechat: https://mp.weixin.qq.com/s/Xo5OScpH-cz41aL2NPqH2w

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/二分查找详解.md b/算法思维系列/二分查找详解.md
index a48d513..73dde01 100644
--- a/算法思维系列/二分查找详解.md
+++ b/算法思维系列/二分查找详解.md
@@ -21,7 +21,7 @@ xiaoeID: i_627cce93e4b0812e17989cfa

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -37,6 +37,8 @@ xiaoeID: i_627cce93e4b0812e17989cfa
> tip:本文有视频版:[二分搜索核心框架套路](https://www.bilibili.com/video/BV1Gt4y1b79Q/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
本文是前文 [二分搜索详解](https://mp.weixin.qq.com/s/uA2suoVykENmCQcKFMOSuQ) 的修订版,添加了对二分搜索算法更详细的分析。
先给大家讲个笑话乐呵一下:
diff --git a/算法思维系列/几个反直觉的概率问题.md b/算法思维系列/几个反直觉的概率问题.md
index 9a95cf4..8a72110 100644
--- a/算法思维系列/几个反直觉的概率问题.md
+++ b/算法思维系列/几个反直觉的概率问题.md
@@ -16,7 +16,7 @@ wechat: https://mp.weixin.qq.com/s/eCgxtBpsrZjJQ9KmhKrEJw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/前缀和技巧.md b/算法思维系列/前缀和技巧.md
index 486c722..4aa38b3 100644
--- a/算法思维系列/前缀和技巧.md
+++ b/算法思维系列/前缀和技巧.md
@@ -19,7 +19,7 @@ xiaoeID: i_62656034e4b0cedf38a93af3

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -35,6 +35,8 @@ xiaoeID: i_62656034e4b0cedf38a93af3
> tip:本文有视频版:[前缀和/差分数组技巧精讲](https://www.bilibili.com/video/BV1NY4y1J7xQ/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。
### 一维数组中的前缀和
diff --git a/算法思维系列/双指针技巧.md b/算法思维系列/双指针技巧.md
index 20081e6..6b9d197 100644
--- a/算法思维系列/双指针技巧.md
+++ b/算法思维系列/双指针技巧.md
@@ -21,7 +21,7 @@ xiaoeID: i_629e11bae4b0812e17a33045

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -43,6 +43,8 @@ xiaoeID: i_629e11bae4b0812e17a33045
> tip:本文有视频版:[数组双指针技巧汇总](https://www.bilibili.com/video/BV1iG411W7Wm/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
在处理数组和链表相关问题时,双指针技巧是经常用到的,双指针技巧主要分为两类:**左右指针**和**快慢指针**。
所谓左右指针,就是两个指针相向而行或者相背而行;而所谓快慢指针,就是两个指针同向而行,一快一慢。
diff --git a/算法思维系列/回溯算法详解修订版.md b/算法思维系列/回溯算法详解修订版.md
index dd1a9af..397e381 100644
--- a/算法思维系列/回溯算法详解修订版.md
+++ b/算法思维系列/回溯算法详解修订版.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/nMUHqvwzG2LmWA9jMIHwQQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -35,6 +35,8 @@ wechat: https://mp.weixin.qq.com/s/nMUHqvwzG2LmWA9jMIHwQQ
> tip:本文有视频版:[回溯算法框架套路详解](https://www.bilibili.com/video/BV1P5411N7Xc/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
这篇文章是很久之前的一篇 [回溯算法详解](https://mp.weixin.qq.com/s/trILKSiN9EoS58pXmvUtUQ) 的进阶版,之前那篇不够清楚,就不必看了,看这篇就行。把框架给你讲清楚,你会发现回溯算法问题都是一个套路。
本文解决几个问题:
diff --git a/算法思维系列/字符串乘法.md b/算法思维系列/字符串乘法.md
index 8db753e..05f016f 100644
--- a/算法思维系列/字符串乘法.md
+++ b/算法思维系列/字符串乘法.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/bpqKRjdCcEN9OMpJR6vQHg

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/学习数据结构和算法的高效方法.md b/算法思维系列/学习数据结构和算法的高效方法.md
index b1e0449..53eb61f 100644
--- a/算法思维系列/学习数据结构和算法的高效方法.md
+++ b/算法思维系列/学习数据结构和算法的高效方法.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/ZYaXOSVM3YBIeRWm7E_jcQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -25,6 +25,8 @@ wechat: https://mp.weixin.qq.com/s/ZYaXOSVM3YBIeRWm7E_jcQ
> tip:本文有视频版:[学习数据结构和算法的框架思维](https://www.bilibili.com/video/BV1EN4y1M79p/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
这是好久之前的一篇文章 [学习数据结构和算法的框架思维](https://mp.weixin.qq.com/s/gE-5KMi4bBvJovdsQXIKgw) 的修订版。之前那篇文章收到广泛好评,没看过也没关系,这篇文章会涵盖之前的所有内容,并且会举很多代码的实例,教你如何使用框架思维。
首先,这里讲的都是普通的数据结构,咱不是搞算法竞赛的,咱的目的是迅速提升算法能力,培养算法思维,真没必要整太偏太怪的题目。另外,以下是我个人的经验的总结,没有哪本算法书会写这些东西,所以请读者试着理解我的角度,别纠结于细节问题,因为这篇文章就是希望帮你对数据结构和算法建立一个框架性的认识。
@@ -349,7 +351,10 @@ N 叉树的遍历框架,找出来了吧?你说,树这种结构重不重要
学完基本算法之后,建议从「二叉树」系列问题开始刷,结合框架思维,把树结构理解到位,然后再去看回溯、动规、分治等算法专题,对思路的理解就会更加深刻。
-> note:最后打个广告,我亲自制作了一门 [数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO),以视频课为主,手把手带你实现常用的数据结构及相关算法,旨在帮助算法基础较为薄弱的读者深入理解常用数据结构的底层原理,在算法学习中少走弯路。
+
+> info:最后打个广告,我亲自制作了一门 [数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO),以视频课为主,手把手带你实现常用的数据结构及相关算法,旨在帮助算法基础较为薄弱的读者深入理解常用数据结构的底层原理,在算法学习中少走弯路。
+
+
diff --git a/算法思维系列/差分技巧.md b/算法思维系列/差分技巧.md
index cb60e46..8ce9bca 100644
--- a/算法思维系列/差分技巧.md
+++ b/算法思维系列/差分技巧.md
@@ -19,7 +19,7 @@ xiaoeID: i_629e0d3ae4b0812e17a32f01

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/常用的位操作.md b/算法思维系列/常用的位操作.md
index cb78b0b..ba017e0 100644
--- a/算法思维系列/常用的位操作.md
+++ b/算法思维系列/常用的位操作.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/4vHfaNnn1OpWQJcsssWWdQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/洗牌算法.md b/算法思维系列/洗牌算法.md
index c431f01..120db67 100644
--- a/算法思维系列/洗牌算法.md
+++ b/算法思维系列/洗牌算法.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/c00DFbvvQNCaZqTDfwBWyA

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/滑动窗口技巧进阶.md b/算法思维系列/滑动窗口技巧进阶.md
index 5372eba..d69f631 100644
--- a/算法思维系列/滑动窗口技巧进阶.md
+++ b/算法思维系列/滑动窗口技巧进阶.md
@@ -20,7 +20,7 @@ xiaoeID: i_627ccf3be4b01a4851fe1012

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -42,6 +42,8 @@ xiaoeID: i_627ccf3be4b01a4851fe1012
> tip:本文有视频版:[滑动窗口算法核心模板框架](https://www.bilibili.com/video/BV1AV4y1n7Zt/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
鉴于前文 [二分搜索框架详解](https://labuladong.github.io/article/fname.html?fname=二分查找详解) 的那首《二分搜索升天词》很受好评,并在民间广为流传,成为安睡助眠的一剂良方,今天在滑动窗口算法框架中,我再次编写一首小诗来歌颂滑动窗口算法的伟大(手动狗头):

diff --git a/算法思维系列/烧饼排序.md b/算法思维系列/烧饼排序.md
index f1382c9..e60a864 100644
--- a/算法思维系列/烧饼排序.md
+++ b/算法思维系列/烧饼排序.md
@@ -19,7 +19,7 @@ wechat: https://mp.weixin.qq.com/s/ljya6zohmdt2TXtzmhBncQ

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/算法思维系列/花式遍历.md b/算法思维系列/花式遍历.md
index bf431ca..ad83877 100644
--- a/算法思维系列/花式遍历.md
+++ b/算法思维系列/花式遍历.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/8jkzRKLNT-6CnEkvHp0ztA

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -323,7 +323,10 @@ int[][] generateMatrix(int n) {
以上就是遍历二维数组的一些技巧,其他数组技巧可参见之前的文章 [前缀和数组](https://labuladong.github.io/article/fname.html?fname=前缀和技巧),[差分数组](https://labuladong.github.io/article/fname.html?fname=差分技巧),[数组双指针算法集合](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzAxODQxMDM0Mw==&action=getalbum&album_id=2120601117519675393),链表相关技巧可参见 [单链表六大算法技巧汇总](https://labuladong.github.io/article/fname.html?fname=链表技巧)。
-> note:最后打个广告,我亲自制作了一门 [数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO),以视频课为主,手把手带你实现常用的数据结构及相关算法,旨在帮助算法基础较为薄弱的读者深入理解常用数据结构的底层原理,在算法学习中少走弯路。
+
+> info:最后打个广告,我亲自制作了一门 [数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO),以视频课为主,手把手带你实现常用的数据结构及相关算法,旨在帮助算法基础较为薄弱的读者深入理解常用数据结构的底层原理,在算法学习中少走弯路。
+
+
diff --git a/算法思维系列/集合划分.md b/算法思维系列/集合划分.md
index fdcb860..b9f034a 100644
--- a/算法思维系列/集合划分.md
+++ b/算法思维系列/集合划分.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/5GO2ZITncVArdm4KITBd9g

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/LRU算法.md b/高频面试系列/LRU算法.md
index 602872e..4702914 100644
--- a/高频面试系列/LRU算法.md
+++ b/高频面试系列/LRU算法.md
@@ -19,7 +19,7 @@ xiaoeID: i_627ceaa0e4b01c509aaf8ae2

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/k个一组反转链表.md b/高频面试系列/k个一组反转链表.md
index d2997db..e924ec8 100644
--- a/高频面试系列/k个一组反转链表.md
+++ b/高频面试系列/k个一组反转链表.md
@@ -20,7 +20,7 @@ xiaoeID: i_632888c1e4b0eca59c32815f

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/一行代码解决的智力题.md b/高频面试系列/一行代码解决的智力题.md
index 389af9a..3265746 100644
--- a/高频面试系列/一行代码解决的智力题.md
+++ b/高频面试系列/一行代码解决的智力题.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/GBfaQSw-0CP_9xuitrOW2A

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/二分查找判定子序列.md b/高频面试系列/二分查找判定子序列.md
index 9f45c54..dbdc09e 100644
--- a/高频面试系列/二分查找判定子序列.md
+++ b/高频面试系列/二分查找判定子序列.md
@@ -19,7 +19,7 @@ wechat: https://mp.weixin.qq.com/s/hWi2hTrQewL_YKioGkXQJg

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/二分运用.md b/高频面试系列/二分运用.md
index 680fbd4..f011853 100644
--- a/高频面试系列/二分运用.md
+++ b/高频面试系列/二分运用.md
@@ -18,7 +18,7 @@ xiaoeID: i_627cce2de4b01a4851fe0ed1

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/判断回文链表.md b/高频面试系列/判断回文链表.md
index 92a5258..c327a74 100644
--- a/高频面试系列/判断回文链表.md
+++ b/高频面试系列/判断回文链表.md
@@ -19,7 +19,7 @@ wechat: https://mp.weixin.qq.com/s/tCgEoOlZKS_ohuTx1VxJ-Q

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -280,7 +280,10 @@ p.next = reverse(q);
具体到回文链表的判断问题,由于回文的特殊性,可以不完全反转链表,而是仅仅反转部分链表,将空间复杂度降到 O(1)。
-> note:最后打个广告,我亲自制作了一门 [数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO),以视频课为主,手把手带你实现常用的数据结构及相关算法,旨在帮助算法基础较为薄弱的读者深入理解常用数据结构的底层原理,在算法学习中少走弯路。
+
+> info:最后打个广告,我亲自制作了一门 [数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO),以视频课为主,手把手带你实现常用的数据结构及相关算法,旨在帮助算法基础较为薄弱的读者深入理解常用数据结构的底层原理,在算法学习中少走弯路。
+
+
diff --git a/高频面试系列/名人问题.md b/高频面试系列/名人问题.md
index 844e40f..689e655 100644
--- a/高频面试系列/名人问题.md
+++ b/高频面试系列/名人问题.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/hd06P3ASUAmA5apbAB1nIw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/子集排列组合.md b/高频面试系列/子集排列组合.md
index a213ea4..7be8f08 100644
--- a/高频面试系列/子集排列组合.md
+++ b/高频面试系列/子集排列组合.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/nrTpZ9b9RvfNsaEkJoHMvg

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
@@ -44,6 +44,8 @@ wechat: https://mp.weixin.qq.com/s/nrTpZ9b9RvfNsaEkJoHMvg
> tip:本文有视频版:[回溯算法秒杀所有排列/组合/子集问题](https://www.bilibili.com/video/BV1Yt4y1t7dK/)。建议关注我的 B 站账号,我会用视频领读的方式带大家学习那些稍有难度的算法技巧。
+
+
虽然排列、组合、子集系列问题是高中就学过的,但如果想编写算法解决它们,还是非常考验计算机思维的,本文就讲讲编程解决这几个问题的核心思路,以后再有什么变体,你也能手到擒来,以不变应万变。
无论是排列、组合还是子集问题,简单说无非就是让你从序列 `nums` 中以给定规则取若干元素,主要有以下几种变体:
@@ -995,6 +997,7 @@ void backtrack(int[] nums) {
- [动态规划和回溯算法的思维转换](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=集合划分)
diff --git a/高频面试系列/安排会议室.md b/高频面试系列/安排会议室.md
index 5d349c0..0d27bee 100644
--- a/高频面试系列/安排会议室.md
+++ b/高频面试系列/安排会议室.md
@@ -22,7 +22,7 @@ xiaoeID: i_649bf421e4b0f2aa7dfe0d9c

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/岛屿题目.md b/高频面试系列/岛屿题目.md
index 31ed664..57189e8 100644
--- a/高频面试系列/岛屿题目.md
+++ b/高频面试系列/岛屿题目.md
@@ -17,7 +17,7 @@ wechat: https://mp.weixin.qq.com/s/IZQkb-M27dt-AZ1VICThOw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/座位调度.md b/高频面试系列/座位调度.md
index 9a5f32d..41eb5be 100644
--- a/高频面试系列/座位调度.md
+++ b/高频面试系列/座位调度.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/DZq0x7wioHuvs1HmV0ol4Q

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/打印素数.md b/高频面试系列/打印素数.md
index a422a61..051f623 100644
--- a/高频面试系列/打印素数.md
+++ b/高频面试系列/打印素数.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/EVhp3D_hwI8RFZlu5sQaIA

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/接雨水.md b/高频面试系列/接雨水.md
index 86332fe..69503dc 100644
--- a/高频面试系列/接雨水.md
+++ b/高频面试系列/接雨水.md
@@ -18,7 +18,7 @@ wechat: https://mp.weixin.qq.com/s/8E2WHPdArs3KwSwaxFunHw

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/缺失和重复的元素.md b/高频面试系列/缺失和重复的元素.md
index 6560513..26ea67e 100644
--- a/高频面试系列/缺失和重复的元素.md
+++ b/高频面试系列/缺失和重复的元素.md
@@ -19,7 +19,7 @@ xiaoeID: i_649bf4b0e4b0f2aa7dfe0e07

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
diff --git a/高频面试系列/随机权重.md b/高频面试系列/随机权重.md
index 02bf24e..8492bac 100644
--- a/高频面试系列/随机权重.md
+++ b/高频面试系列/随机权重.md
@@ -21,7 +21,7 @@ xiaoeID: i_649bbb87e4b0b0bc2bf8e9d9

-**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 即将涨价!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**
+**通知:[数据结构精品课](https://aep.h5.xeknow.com/s/1XJHEO) 和 [递归算法专题课](https://aep.xet.tech/s/3YGcq3) 限时附赠网站会员 开始报名!另外,建议你在我的 [网站](https://labuladong.github.io/algo/) 学习文章,体验更好。**