From fbd5affbd24f742183e6cbb118240d46f0e80c25 Mon Sep 17 00:00:00 2001 From: labuladong Date: Wed, 17 Mar 2021 21:29:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pictures/qrcode.jpg | Bin 17565 -> 27201 bytes 动态规划系列/动态规划之KMP字符匹配算法.md | 6 +++--- 动态规划系列/动态规划之博弈问题.md | 8 ++++---- 动态规划系列/动态规划之四键键盘.md | 6 +++--- 动态规划系列/动态规划之正则表达.md | 6 +++--- 动态规划系列/动态规划设计:最长递增子序列.md | 12 ++++++------ 动态规划系列/动态规划详解进阶.md | 8 ++++---- 动态规划系列/团灭股票问题.md | 6 +++--- 动态规划系列/子序列问题模板.md | 6 +++--- 动态规划系列/抢房子.md | 4 ++-- 动态规划系列/最优子结构.md | 8 ++++---- 动态规划系列/最长公共子序列.md | 6 +++--- 动态规划系列/编辑距离.md | 6 +++--- 动态规划系列/贪心算法之区间调度问题.md | 6 +++--- 动态规划系列/高楼扔鸡蛋进阶.md | 6 +++--- 动态规划系列/高楼扔鸡蛋问题.md | 8 ++++---- 技术/linuxshell.md | 6 +++--- 技术/linux进程.md | 6 +++--- 技术/redis入侵.md | 6 +++--- 技术/session和cookie.md | 6 +++--- 技术/在线练习平台.md | 6 +++--- 技术/密码技术.md | 8 ++++---- 数据结构系列/二叉堆详解实现优先级队列.md | 6 +++--- 数据结构系列/二叉搜索树操作集锦.md | 8 ++++---- 数据结构系列/单调栈.md | 6 +++--- 数据结构系列/单调队列.md | 6 +++--- 数据结构系列/实现计算器.md | 6 +++--- 数据结构系列/设计Twitter.md | 6 +++--- 数据结构系列/递归反转链表的一部分.md | 6 +++--- 数据结构系列/队列实现栈栈实现队列.md | 6 +++--- 算法思维系列/FloodFill算法详解及应用.md | 8 ++++---- 算法思维系列/UnionFind算法应用.md | 6 +++--- 算法思维系列/UnionFind算法详解.md | 6 +++--- 算法思维系列/twoSum问题的核心思想.md | 6 +++--- 算法思维系列/为什么推荐算法4.md | 6 +++--- 算法思维系列/二分查找详解.md | 6 +++--- 算法思维系列/信封嵌套问题.md | 8 ++++---- 算法思维系列/几个反直觉的概率问题.md | 8 ++++---- 算法思维系列/前缀和技巧.md | 6 +++--- 算法思维系列/区间交集问题.md | 6 +++--- 算法思维系列/区间调度问题之区间合并.md | 6 +++--- 算法思维系列/双指针技巧.md | 8 ++++---- 算法思维系列/回溯算法详解修订版.md | 6 +++--- 算法思维系列/字符串乘法.md | 6 +++--- 算法思维系列/学习数据结构和算法的高效方法.md | 14 +++++++------- 算法思维系列/常用的位操作.md | 6 +++--- 算法思维系列/洗牌算法.md | 6 +++--- 算法思维系列/滑动窗口技巧.md | 6 +++--- 算法思维系列/烧饼排序.md | 8 ++++---- 算法思维系列/算法学习之路.md | 6 +++--- 算法思维系列/递归详解.md | 6 +++--- 高频面试系列/LRU算法.md | 6 +++--- 高频面试系列/koko偷香蕉.md | 6 +++--- 高频面试系列/k个一组反转链表.md | 8 ++++---- 高频面试系列/一行代码解决的智力题.md | 6 +++--- 高频面试系列/二分查找判定子序列.md | 10 +++++----- 高频面试系列/判断回文链表.md | 6 +++--- 高频面试系列/合法括号判定.md | 6 +++--- 高频面试系列/如何去除有序数组的重复元素.md | 2 +- 高频面试系列/子集排列组合.md | 6 +++--- 高频面试系列/座位调度.md | 6 +++--- 高频面试系列/打印素数.md | 6 +++--- 高频面试系列/接雨水.md | 6 +++--- 高频面试系列/最长回文子串.md | 6 +++--- 高频面试系列/水塘抽样.md | 6 +++--- 高频面试系列/消失的元素.md | 6 +++--- 高频面试系列/缺失和重复的元素.md | 6 +++--- 67 files changed, 216 insertions(+), 216 deletions(-) diff --git a/pictures/qrcode.jpg b/pictures/qrcode.jpg index 590f0fd7d538ab858e5e2b97cadae6c8688cce92..83e46cb25f6b9788c224f8beb4619cb9d4f0dad2 100644 GIT binary patch literal 27201 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 literal 17565 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 Qv&_KM=596>bo}c70Q(==O8@`> diff --git a/动态规划系列/动态规划之KMP字符匹配算法.md b/动态规划系列/动态规划之KMP字符匹配算法.md index 5cde805..37a597b 100644 --- a/动态规划系列/动态规划之KMP字符匹配算法.md +++ b/动态规划系列/动态规划之KMP字符匹配算法.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [经典动态规划:最长公共子序列](https://labuladong.gitbook.io/algo) - * [特殊数据结构:单调栈](https://labuladong.gitbook.io/algo) + * [经典动态规划:最长公共子序列](https://labuladong.gitbook.io/algo/) + * [特殊数据结构:单调栈](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -423,7 +423,7 @@ KMP 算法也就是动态规划那点事,我们的公众号文章目录有一 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/动态规划之博弈问题.md b/动态规划系列/动态规划之博弈问题.md index f9082d8..c75749a 100644 --- a/动态规划系列/动态规划之博弈问题.md +++ b/动态规划系列/动态规划之博弈问题.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [40张图解:TCP三次握手和四次挥手面试题](https://labuladong.gitbook.io/algo) - * [如何计算完全二叉树的节点数](https://labuladong.gitbook.io/algo) + * [40张图解:TCP三次握手和四次挥手面试题](https://labuladong.gitbook.io/algo/) + * [如何计算完全二叉树的节点数](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -20,7 +20,7 @@ **-----------** -上一篇文章 [几道智力题](https://labuladong.gitbook.io/algo) 中讨论到一个有趣的「石头游戏」,通过题目的限制条件,这个游戏是先手必胜的。但是智力题终究是智力题,真正的算法问题肯定不会是投机取巧能搞定的。所以,本文就借石头游戏来讲讲「假设两个人都足够聪明,最后谁会获胜」这一类问题该如何用动态规划算法解决。 +上一篇文章 [几道智力题](https://labuladong.gitbook.io/algo/) 中讨论到一个有趣的「石头游戏」,通过题目的限制条件,这个游戏是先手必胜的。但是智力题终究是智力题,真正的算法问题肯定不会是投机取巧能搞定的。所以,本文就借石头游戏来讲讲「假设两个人都足够聪明,最后谁会获胜」这一类问题该如何用动态规划算法解决。 博弈类问题的套路都差不多,下文参考 [这个 YouTube 视频](https://www.youtube.com/watch?v=WxpIHvsu1RI) 的思路讲解,其核心思路是在二维 dp 的基础上使用元组分别存储两个人的博弈结果。掌握了这个技巧以后,别人再问你什么俩海盗分宝石,俩人拿硬币的问题,你就告诉别人:我懒得想,直接给你写个算法算一下得了。 @@ -207,7 +207,7 @@ int stoneGame(int[] piles) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/动态规划之四键键盘.md b/动态规划系列/动态规划之四键键盘.md index e2641f5..312cad1 100644 --- a/动态规划系列/动态规划之四键键盘.md +++ b/动态规划系列/动态规划之四键键盘.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何高效寻找素数](https://labuladong.gitbook.io/algo) - * [动态规划解题套路框架](https://labuladong.gitbook.io/algo) + * [如何高效寻找素数](https://labuladong.gitbook.io/algo/) + * [动态规划解题套路框架](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -192,7 +192,7 @@ def dp(n, a_num, copy): **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/动态规划之正则表达.md b/动态规划系列/动态规划之正则表达.md index 9190afc..a3d13bd 100644 --- a/动态规划系列/动态规划之正则表达.md +++ b/动态规划系列/动态规划之正则表达.md @@ -10,8 +10,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [我写了首诗,把滑动窗口算法算法变成了默写题](https://labuladong.gitbook.io/algo) - * [二分查找高效判定子序列](https://labuladong.gitbook.io/algo) + * [我写了首诗,把滑动窗口算法算法变成了默写题](https://labuladong.gitbook.io/algo/) + * [二分查找高效判定子序列](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -287,7 +287,7 @@ bool dp(string& s, int i, string& p, int j) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/动态规划设计:最长递增子序列.md b/动态规划系列/动态规划设计:最长递增子序列.md index edef473..55aeb8d 100644 --- a/动态规划系列/动态规划设计:最长递增子序列.md +++ b/动态规划系列/动态规划设计:最长递增子序列.md @@ -10,8 +10,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [动态规划设计:最大子数组](https://labuladong.gitbook.io/algo) - * [一文学会递归解题](https://labuladong.gitbook.io/algo) + * [动态规划设计:最大子数组](https://labuladong.gitbook.io/algo/) + * [一文学会递归解题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -19,7 +19,7 @@ **-----------** -也许有读者看了前文 [动态规划详解](https://labuladong.gitbook.io/algo),学会了动态规划的套路:找到了问题的「状态」,明确了 `dp` 数组/函数的含义,定义了 base case;但是不知道如何确定「选择」,也就是不到状态转移的关系,依然写不出动态规划解法,怎么办? +也许有读者看了前文 [动态规划详解](https://labuladong.gitbook.io/algo/),学会了动态规划的套路:找到了问题的「状态」,明确了 `dp` 数组/函数的含义,定义了 base case;但是不知道如何确定「选择」,也就是不到状态转移的关系,依然写不出动态规划解法,怎么办? 不要担心,动态规划的难点本来就在于寻找正确的状态转移方程,本文就借助经典的「最长递增子序列问题」来讲一讲设计动态规划的通用技巧:**数学归纳思想**。 @@ -43,7 +43,7 @@ **我们的定义是这样的:`dp[i]` 表示以 `nums[i]` 这个数结尾的最长递增子序列的长度。** -PS:为什么这样定义呢?这是解决子序列问题的一个套路,后文[动态规划之子序列问题解题模板](https://labuladong.gitbook.io/algo) 总结了几种常见套路。你读完本章所有的动态规划问题,就会发现 `dp` 数组的定义方法也就那几种。 +PS:为什么这样定义呢?这是解决子序列问题的一个套路,后文[动态规划之子序列问题解题模板](https://labuladong.gitbook.io/algo/) 总结了几种常见套路。你读完本章所有的动态规划问题,就会发现 `dp` 数组的定义方法也就那几种。 根据这个定义,我们就可以推出 base case:`dp[i]` 初始值为 1,因为以 `nums[i]` 结尾的最长递增子序列起码要包含它自己。 @@ -164,7 +164,7 @@ public int lengthOfLIS(int[] nums) { 我们只要把处理扑克牌的过程编程写出来即可。每次处理一张扑克牌不是要找一个合适的牌堆顶来放吗,牌堆顶的牌不是**有序**吗,这就能用到二分查找了:用二分查找来搜索当前牌应放置的位置。 -PS:旧文[二分查找算法详解](https://labuladong.gitbook.io/algo)详细介绍了二分查找的细节及变体,这里就完美应用上了,如果没读过强烈建议阅读。 +PS:旧文[二分查找算法详解](https://labuladong.gitbook.io/algo/)详细介绍了二分查找的细节及变体,这里就完美应用上了,如果没读过强烈建议阅读。 ```java public int lengthOfLIS(int[] nums) { @@ -207,7 +207,7 @@ public int lengthOfLIS(int[] nums) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/动态规划详解进阶.md b/动态规划系列/动态规划详解进阶.md index f51608e..6ce71fa 100644 --- a/动态规划系列/动态规划详解进阶.md +++ b/动态规划系列/动态规划详解进阶.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [经典动态规划:完全背包问题](https://labuladong.gitbook.io/algo) - * [Git/SQL/正则表达式的在线练习平台](https://labuladong.gitbook.io/algo) + * [经典动态规划:完全背包问题](https://labuladong.gitbook.io/algo/) + * [Git/SQL/正则表达式的在线练习平台](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -216,7 +216,7 @@ int coinChange(int[] coins, int amount); 回到凑零钱问题,为什么说它符合最优子结构呢?比如你想求 `amount = 11` 时的最少硬币数(原问题),如果你知道凑出 `amount = 10` 的最少硬币数(子问题),你只需要把子问题的答案加一(再选一枚面值为 1 的硬币)就是原问题的答案。因为硬币的数量是没有限制的,所以子问题之间没有相互制,是互相独立的。 -PS:关于最优子结构的问题,后文[动态规划答疑篇](https://labuladong.gitbook.io/algo) 还会再举例探讨。 +PS:关于最优子结构的问题,后文[动态规划答疑篇](https://labuladong.gitbook.io/algo/) 还会再举例探讨。 那么,既然知道了这是个动态规划问题,就要思考**如何列出正确的状态转移方程**? @@ -360,7 +360,7 @@ PS:为啥 `dp` 数组初始化为 `amount + 1` 呢,因为凑成 `amount` 金 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/团灭股票问题.md b/动态规划系列/团灭股票问题.md index 61f64a3..f34d173 100644 --- a/动态规划系列/团灭股票问题.md +++ b/动态规划系列/团灭股票问题.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [动态规划之KMP字符匹配算法](https://labuladong.gitbook.io/algo) - * [如何判断回文链表](https://labuladong.gitbook.io/algo) + * [动态规划之KMP字符匹配算法](https://labuladong.gitbook.io/algo/) + * [如何判断回文链表](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -420,7 +420,7 @@ int maxProfit_k_any(int max_k, int[] prices) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/子序列问题模板.md b/动态规划系列/子序列问题模板.md index c7a3d5a..1f2570a 100644 --- a/动态规划系列/子序列问题模板.md +++ b/动态规划系列/子序列问题模板.md @@ -12,8 +12,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [洗牌算法](https://labuladong.gitbook.io/algo) - * [twoSum问题的核心思想](https://labuladong.gitbook.io/algo) + * [洗牌算法](https://labuladong.gitbook.io/algo/) + * [twoSum问题的核心思想](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -166,7 +166,7 @@ int longestPalindromeSubseq(string s) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,labuladong 带你搞定 LeetCode**。 diff --git a/动态规划系列/抢房子.md b/动态规划系列/抢房子.md index 081c583..f2e2541 100644 --- a/动态规划系列/抢房子.md +++ b/动态规划系列/抢房子.md @@ -10,7 +10,7 @@ ![](../pictures/souyisou.png) 相关推荐: - * [动态规划之四键键盘](https://labuladong.gitbook.io/algo) + * [动态规划之四键键盘](https://labuladong.gitbook.io/algo/) * [经典动态规划:子集背包问题](/https://labuladong.gitbook.io/algo) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -250,7 +250,7 @@ int[] dp(TreeNode root) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/最优子结构.md b/动态规划系列/最优子结构.md index caf68cf..808f6a6 100644 --- a/动态规划系列/最优子结构.md +++ b/动态规划系列/最优子结构.md @@ -12,8 +12,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [搜索引擎背后的经典数据结构和算法](https://labuladong.gitbook.io/algo) - * [动态规划之四键键盘](https://labuladong.gitbook.io/algo) + * [搜索引擎背后的经典数据结构和算法](https://labuladong.gitbook.io/algo/) + * [动态规划之四键键盘](https://labuladong.gitbook.io/algo/) **-----------** @@ -54,7 +54,7 @@ return result; 当然,上面这个例子太简单了,不过请读者回顾一下,我们做动态规划问题,是不是一直在求各种最值,本质跟我们举的例子没啥区别,无非需要处理一下重叠子问题。 -前文不[同定义不同解法](https://labuladong.gitbook.io/algo) 和 [高楼扔鸡蛋进阶](https://labuladong.gitbook.io/algo) 就展示了如何改造问题,不同的最优子结构,可能导致不同的解法和效率。 +前文不[同定义不同解法](https://labuladong.gitbook.io/algo/) 和 [高楼扔鸡蛋进阶](https://labuladong.gitbook.io/algo/) 就展示了如何改造问题,不同的最优子结构,可能导致不同的解法和效率。 再举个常见但也十分简单的例子,求一棵二叉树的最大值,不难吧(简单起见,假设节点中的值都是非负数): @@ -149,7 +149,7 @@ for (int i = 1; i < m; i++) **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/最长公共子序列.md b/动态规划系列/最长公共子序列.md index bff1721..7117ba9 100644 --- a/动态规划系列/最长公共子序列.md +++ b/动态规划系列/最长公共子序列.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo) - * [经典动态规划:高楼扔鸡蛋(进阶)](https://labuladong.gitbook.io/algo) + * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo/) + * [经典动态规划:高楼扔鸡蛋(进阶)](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -139,7 +139,7 @@ else: **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/编辑距离.md b/动态规划系列/编辑距离.md index 5c4d6c6..5d634fb 100644 --- a/动态规划系列/编辑距离.md +++ b/动态规划系列/编辑距离.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [labuladong优质作者扶持计划](https://labuladong.gitbook.io/algo) - * [动态规划设计:最大子数组](https://labuladong.gitbook.io/algo) + * [labuladong优质作者扶持计划](https://labuladong.gitbook.io/algo/) + * [动态规划设计:最大子数组](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -283,7 +283,7 @@ class Node { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/贪心算法之区间调度问题.md b/动态规划系列/贪心算法之区间调度问题.md index 3660bdc..268654b 100644 --- a/动态规划系列/贪心算法之区间调度问题.md +++ b/动态规划系列/贪心算法之区间调度问题.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何判定括号合法性](https://labuladong.gitbook.io/algo) - * [一文解决三道区间问题](https://labuladong.gitbook.io/algo) + * [如何判定括号合法性](https://labuladong.gitbook.io/algo/) + * [一文解决三道区间问题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -150,7 +150,7 @@ int findMinArrowShots(int[][] intvs) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/高楼扔鸡蛋进阶.md b/动态规划系列/高楼扔鸡蛋进阶.md index ec5e838..53ebb02 100644 --- a/动态规划系列/高楼扔鸡蛋进阶.md +++ b/动态规划系列/高楼扔鸡蛋进阶.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [手把手带你刷二叉树(第二期)](https://labuladong.gitbook.io/algo) - * [状态压缩:对动态规划进行降维打击](https://labuladong.gitbook.io/algo) + * [手把手带你刷二叉树(第二期)](https://labuladong.gitbook.io/algo/) + * [状态压缩:对动态规划进行降维打击](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -287,7 +287,7 @@ while (lo < hi) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/动态规划系列/高楼扔鸡蛋问题.md b/动态规划系列/高楼扔鸡蛋问题.md index 68bd9b8..af76a51 100644 --- a/动态规划系列/高楼扔鸡蛋问题.md +++ b/动态规划系列/高楼扔鸡蛋问题.md @@ -12,8 +12,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何判断回文链表](https://labuladong.gitbook.io/algo) - * [SQL进阶技巧](https://labuladong.gitbook.io/algo) + * [如何判断回文链表](https://labuladong.gitbook.io/algo/) + * [SQL进阶技巧](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -243,7 +243,7 @@ def superEggDrop(self, K: int, N: int) -> int: return dp(K, N) ``` -这里就不展开其他解法了,留在下一篇文章 [高楼扔鸡蛋进阶](https://labuladong.gitbook.io/algo) +这里就不展开其他解法了,留在下一篇文章 [高楼扔鸡蛋进阶](https://labuladong.gitbook.io/algo/) 我觉得吧,我们这种解法就够了:找状态,做选择,足够清晰易懂,可流程化,可举一反三。掌握这套框架学有余力的话,再去考虑那些奇技淫巧也不迟。 @@ -253,7 +253,7 @@ def superEggDrop(self, K: int, N: int) -> int: **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/技术/linuxshell.md b/技术/linuxshell.md index 41e5810..055b0c6 100644 --- a/技术/linuxshell.md +++ b/技术/linuxshell.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [状态压缩:对动态规划进行降维打击](https://labuladong.gitbook.io/algo) - * [我用四个命令概括了 Git 的所有套路](https://labuladong.gitbook.io/algo) + * [状态压缩:对动态规划进行降维打击](https://labuladong.gitbook.io/algo/) + * [我用四个命令概括了 Git 的所有套路](https://labuladong.gitbook.io/algo/) **-----------** @@ -149,7 +149,7 @@ $ sudo /home/fdl/bin/connect.sh **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/技术/linux进程.md b/技术/linux进程.md index d0a9d8a..365ed46 100644 --- a/技术/linux进程.md +++ b/技术/linux进程.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [一文解决三道区间问题](https://labuladong.gitbook.io/algo) - * [Union-Find算法详解](https://labuladong.gitbook.io/algo) + * [一文解决三道区间问题](https://labuladong.gitbook.io/algo/) + * [Union-Find算法详解](https://labuladong.gitbook.io/algo/) **-----------** @@ -133,7 +133,7 @@ $ cmd1 | cmd2 | cmd3 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/技术/redis入侵.md b/技术/redis入侵.md index 36d18f0..8fbedbb 100644 --- a/技术/redis入侵.md +++ b/技术/redis入侵.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [烧饼排序](https://labuladong.gitbook.io/algo) - * [动态规划之正则表达](https://labuladong.gitbook.io/algo) + * [烧饼排序](https://labuladong.gitbook.io/algo/) + * [动态规划之正则表达](https://labuladong.gitbook.io/algo/) **-----------** @@ -98,7 +98,7 @@ Redis 监听的默认端口是 6379,我们设置它接收网卡 127.0.0.1 的 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/技术/session和cookie.md b/技术/session和cookie.md index 7fb7cb4..03ce418 100644 --- a/技术/session和cookie.md +++ b/技术/session和cookie.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何计算完全二叉树的节点数](https://labuladong.gitbook.io/algo) - * [Linux的进程、线程、文件描述符是什么](https://labuladong.gitbook.io/algo) + * [如何计算完全二叉树的节点数](https://labuladong.gitbook.io/algo/) + * [Linux的进程、线程、文件描述符是什么](https://labuladong.gitbook.io/algo/) **-----------** @@ -147,7 +147,7 @@ https://github.com/astaxie/build-web-application-with-golang **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/技术/在线练习平台.md b/技术/在线练习平台.md index 28f21ff..ba86593 100644 --- a/技术/在线练习平台.md +++ b/技术/在线练习平台.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [区间调度之区间合并问题](https://labuladong.gitbook.io/algo) - * [别再说你不懂Linux内存管理了,10张图给你安排的明明白白](https://labuladong.gitbook.io/algo) + * [区间调度之区间合并问题](https://labuladong.gitbook.io/algo/) + * [别再说你不懂Linux内存管理了,10张图给你安排的明明白白](https://labuladong.gitbook.io/algo/) **-----------** @@ -111,7 +111,7 @@ https://sqlzoo.net/ **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/技术/密码技术.md b/技术/密码技术.md index 011352c..9ab3b71 100644 --- a/技术/密码技术.md +++ b/技术/密码技术.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [我用四个命令概括了 Git 的所有套路](https://labuladong.gitbook.io/algo) - * [一个方法团灭 nSum 问题](https://labuladong.gitbook.io/algo) + * [我用四个命令概括了 Git 的所有套路](https://labuladong.gitbook.io/algo/) + * [一个方法团灭 nSum 问题](https://labuladong.gitbook.io/algo/) **-----------** @@ -194,7 +194,7 @@ HTTPS 协议中的 SSL/TLS 安全层会组合使用以上几种加密方式,** **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 @@ -203,4 +203,4 @@ HTTPS 协议中的 SSL/TLS 安全层会组合使用以上几种加密方式,**

======其他语言代码====== -[test ad](https://labuladong.gitbook.io/algo) \ No newline at end of file +[test ad](https://labuladong.gitbook.io/algo/) \ No newline at end of file diff --git a/数据结构系列/二叉堆详解实现优先级队列.md b/数据结构系列/二叉堆详解实现优先级队列.md index 5353625..72c98cf 100644 --- a/数据结构系列/二叉堆详解实现优先级队列.md +++ b/数据结构系列/二叉堆详解实现优先级队列.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [算法就像搭乐高:带你手撸 LRU 算法](https://labuladong.gitbook.io/algo) - * [拆解复杂问题:实现计算器](https://labuladong.gitbook.io/algo) + * [算法就像搭乐高:带你手撸 LRU 算法](https://labuladong.gitbook.io/algo/) + * [拆解复杂问题:实现计算器](https://labuladong.gitbook.io/algo/) **-----------** @@ -231,7 +231,7 @@ public Key delMax() { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/数据结构系列/二叉搜索树操作集锦.md b/数据结构系列/二叉搜索树操作集锦.md index ffe8b5c..8aef92e 100644 --- a/数据结构系列/二叉搜索树操作集锦.md +++ b/数据结构系列/二叉搜索树操作集锦.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [特殊数据结构:单调队列](https://labuladong.gitbook.io/algo) - * [一行代码就能解决的算法题](https://labuladong.gitbook.io/algo) + * [特殊数据结构:单调队列](https://labuladong.gitbook.io/algo/) + * [一行代码就能解决的算法题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -28,7 +28,7 @@ **-----------** -通过之前的文章[框架思维](https://labuladong.gitbook.io/algo),二叉树的遍历框架应该已经印到你的脑子里了,这篇文章就来实操一下,看看框架思维是怎么灵活运用,秒杀一切二叉树问题的。 +通过之前的文章[框架思维](https://labuladong.gitbook.io/algo/),二叉树的遍历框架应该已经印到你的脑子里了,这篇文章就来实操一下,看看框架思维是怎么灵活运用,秒杀一切二叉树问题的。 二叉树算法的设计的总路线:明确一个节点要做的事情,然后剩下的事抛给框架。 @@ -302,7 +302,7 @@ void BST(TreeNode root, int target) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/数据结构系列/单调栈.md b/数据结构系列/单调栈.md index 1ee8ef4..93a77f1 100644 --- a/数据结构系列/单调栈.md +++ b/数据结构系列/单调栈.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: -* [回溯算法解题套路框架](https://labuladong.gitbook.io/algo) - * [动态规划解题套路框架](https://labuladong.gitbook.io/algo) +* [回溯算法解题套路框架](https://labuladong.gitbook.io/algo/) + * [动态规划解题套路框架](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -173,7 +173,7 @@ vector nextGreaterElements(vector& nums) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/数据结构系列/单调队列.md b/数据结构系列/单调队列.md index 140391e..54f5e6e 100644 --- a/数据结构系列/单调队列.md +++ b/数据结构系列/单调队列.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [几个反直觉的概率问题](https://labuladong.gitbook.io/algo) - * [Git/SQL/正则表达式的在线练习平台](https://labuladong.gitbook.io/algo) + * [几个反直觉的概率问题](https://labuladong.gitbook.io/algo/) + * [Git/SQL/正则表达式的在线练习平台](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -202,7 +202,7 @@ vector maxSlidingWindow(vector& nums, int k) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/数据结构系列/实现计算器.md b/数据结构系列/实现计算器.md index 2b980f7..384a86f 100644 --- a/数据结构系列/实现计算器.md +++ b/数据结构系列/实现计算器.md @@ -12,8 +12,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [特殊数据结构:单调队列](https://labuladong.gitbook.io/algo) - * [一行代码就能解决的算法题](https://labuladong.gitbook.io/algo) + * [特殊数据结构:单调队列](https://labuladong.gitbook.io/algo/) + * [一行代码就能解决的算法题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -298,7 +298,7 @@ def calculate(s: str) -> int: **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/数据结构系列/设计Twitter.md b/数据结构系列/设计Twitter.md index 5f6c5f5..96db455 100644 --- a/数据结构系列/设计Twitter.md +++ b/数据结构系列/设计Twitter.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [面试官:你说对MySQL事务很熟?那我问你10个问题](https://labuladong.gitbook.io/algo) - * [一行代码就能解决的算法题](https://labuladong.gitbook.io/algo) + * [面试官:你说对MySQL事务很熟?那我问你10个问题](https://labuladong.gitbook.io/algo/) + * [一行代码就能解决的算法题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -294,7 +294,7 @@ PS:本文前两张图片和 GIF 是我第一次尝试用平板的绘图软件 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/数据结构系列/递归反转链表的一部分.md b/数据结构系列/递归反转链表的一部分.md index 1f8bca2..ed08996 100644 --- a/数据结构系列/递归反转链表的一部分.md +++ b/数据结构系列/递归反转链表的一部分.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [特殊数据结构:单调队列](https://labuladong.gitbook.io/algo) - * [回溯算法最佳实践:括号生成](https://labuladong.gitbook.io/algo) + * [特殊数据结构:单调队列](https://labuladong.gitbook.io/algo/) + * [回溯算法最佳实践:括号生成](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -210,7 +210,7 @@ ListNode reverseBetween(ListNode head, int m, int n) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/数据结构系列/队列实现栈栈实现队列.md b/数据结构系列/队列实现栈栈实现队列.md index 20b6a8e..a9d3446 100644 --- a/数据结构系列/队列实现栈栈实现队列.md +++ b/数据结构系列/队列实现栈栈实现队列.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo) - * [高性能短链设计](https://labuladong.gitbook.io/algo) + * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo/) + * [高性能短链设计](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -222,7 +222,7 @@ public boolean empty() { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/FloodFill算法详解及应用.md b/算法思维系列/FloodFill算法详解及应用.md index 1cf2dbf..28b0fa5 100644 --- a/算法思维系列/FloodFill算法详解及应用.md +++ b/算法思维系列/FloodFill算法详解及应用.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何高效进行模幂运算](https://labuladong.gitbook.io/algo) - * [经典动态规划:0-1 背包问题](https://labuladong.gitbook.io/algo) + * [如何高效进行模幂运算](https://labuladong.gitbook.io/algo/) + * [经典动态规划:0-1 背包问题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -126,7 +126,7 @@ image[x][y] = newColor; 完全 OK,这也是处理「图」的一种常用手段。不过对于此题,不用开数组,我们有一种更好的方法,那就是回溯算法。 -前文 [回溯算法框架套路](https://labuladong.gitbook.io/algo)讲过,这里不再赘述,直接套回溯算法框架: +前文 [回溯算法框架套路](https://labuladong.gitbook.io/algo/)讲过,这里不再赘述,直接套回溯算法框架: ```java void fill(int[][] image, int x, int y, @@ -231,7 +231,7 @@ int fill(int[][] image, int x, int y, **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/UnionFind算法应用.md b/算法思维系列/UnionFind算法应用.md index c3ce82f..1217326 100644 --- a/算法思维系列/UnionFind算法应用.md +++ b/算法思维系列/UnionFind算法应用.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [手把手带你刷二叉树(第一期)](https://labuladong.gitbook.io/algo) - * [二分查找详解](https://labuladong.gitbook.io/algo) + * [手把手带你刷二叉树(第一期)](https://labuladong.gitbook.io/algo/) + * [二分查找详解](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -244,7 +244,7 @@ boolean equationsPossible(String[] equations) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/UnionFind算法详解.md b/算法思维系列/UnionFind算法详解.md index 977d8ba..32e37de 100644 --- a/算法思维系列/UnionFind算法详解.md +++ b/算法思维系列/UnionFind算法详解.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [一文秒杀四道原地修改数组的算法题](https://labuladong.gitbook.io/algo) - * [学习算法和数据结构的思路指南](https://labuladong.gitbook.io/algo) + * [一文秒杀四道原地修改数组的算法题](https://labuladong.gitbook.io/algo/) + * [学习算法和数据结构的思路指南](https://labuladong.gitbook.io/algo/) **-----------** @@ -309,7 +309,7 @@ Union-Find 算法的复杂度可以这样分析:构造函数初始化数据结 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/twoSum问题的核心思想.md b/算法思维系列/twoSum问题的核心思想.md index 3ee4909..a1a92c5 100644 --- a/算法思维系列/twoSum问题的核心思想.md +++ b/算法思维系列/twoSum问题的核心思想.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [我写了首诗,让你闭着眼睛也能写对二分搜索](https://labuladong.gitbook.io/algo) - * [经典动态规划:完全背包问题](https://labuladong.gitbook.io/algo) + * [我写了首诗,让你闭着眼睛也能写对二分搜索](https://labuladong.gitbook.io/algo/) + * [经典动态规划:完全背包问题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -177,7 +177,7 @@ int[] twoSum(int[] nums, int target) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/为什么推荐算法4.md b/算法思维系列/为什么推荐算法4.md index 8792b9c..ff24326 100644 --- a/算法思维系列/为什么推荐算法4.md +++ b/算法思维系列/为什么推荐算法4.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [递归反转链表的一部分](https://labuladong.gitbook.io/algo) - * [25 张图解:键入网址后,到网页显示,其间发生了什么](https://labuladong.gitbook.io/algo) + * [递归反转链表的一部分](https://labuladong.gitbook.io/algo/) + * [25 张图解:键入网址后,到网页显示,其间发生了什么](https://labuladong.gitbook.io/algo/) **-----------** @@ -93,7 +93,7 @@ **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/二分查找详解.md b/算法思维系列/二分查找详解.md index 76cfd5f..49f8f7f 100644 --- a/算法思维系列/二分查找详解.md +++ b/算法思维系列/二分查找详解.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo) - * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo) + * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo/) + * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -500,7 +500,7 @@ int right_bound(int[] nums, int target) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/信封嵌套问题.md b/算法思维系列/信封嵌套问题.md index bd6997f..a31453c 100644 --- a/算法思维系列/信封嵌套问题.md +++ b/算法思维系列/信封嵌套问题.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [讲两道常考的阶乘算法题](https://labuladong.gitbook.io/algo) - * [状态压缩:对动态规划进行降维打击](https://labuladong.gitbook.io/algo) + * [讲两道常考的阶乘算法题](https://labuladong.gitbook.io/algo/) + * [状态压缩:对动态规划进行降维打击](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -22,7 +22,7 @@ 很多算法问题都需要排序技巧,其难点不在于排序本身,而是需要巧妙地排序进行预处理,将算法问题进行转换,为之后的操作打下基础。 -信封嵌套问题就需要先按特定的规则排序,之后就转换为一个 [最长递增子序列问题](https://labuladong.gitbook.io/algo),可以用前文 [二分查找详解](https://labuladong.gitbook.io/algo) 的技巧来解决了。 +信封嵌套问题就需要先按特定的规则排序,之后就转换为一个 [最长递增子序列问题](https://labuladong.gitbook.io/algo/),可以用前文 [二分查找详解](https://labuladong.gitbook.io/algo/) 的技巧来解决了。 ### 一、题目概述 @@ -127,7 +127,7 @@ public int lengthOfLIS(int[] nums) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/几个反直觉的概率问题.md b/算法思维系列/几个反直觉的概率问题.md index 767a11f..5a3adae 100644 --- a/算法思维系列/几个反直觉的概率问题.md +++ b/算法思维系列/几个反直觉的概率问题.md @@ -11,12 +11,12 @@ ![](../pictures/souyisou.png) 相关推荐: - * [学习算法和数据结构的思路指南](https://labuladong.gitbook.io/algo) - * [我写了首诗,让你闭着眼睛也能写对二分搜索](https://labuladong.gitbook.io/algo) + * [学习算法和数据结构的思路指南](https://labuladong.gitbook.io/algo/) + * [我写了首诗,让你闭着眼睛也能写对二分搜索](https://labuladong.gitbook.io/algo/) **-----------** -上篇文章 [洗牌算法详解](https://labuladong.gitbook.io/algo) 讲到了验证概率算法的蒙特卡罗方法,今天聊点轻松的内容:几个和概率相关的有趣问题。 +上篇文章 [洗牌算法详解](https://labuladong.gitbook.io/algo/) 讲到了验证概率算法的蒙特卡罗方法,今天聊点轻松的内容:几个和概率相关的有趣问题。 计算概率有下面两个最简单的原则: @@ -133,7 +133,7 @@ **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/前缀和技巧.md b/算法思维系列/前缀和技巧.md index ef96986..5a3d3ce 100644 --- a/算法思维系列/前缀和技巧.md +++ b/算法思维系列/前缀和技巧.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何去除有序数组的重复元素](https://labuladong.gitbook.io/algo) - * [区间调度之区间合并问题](https://labuladong.gitbook.io/algo) + * [如何去除有序数组的重复元素](https://labuladong.gitbook.io/algo/) + * [区间调度之区间合并问题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -151,7 +151,7 @@ for (int i = 1; i < count.length; i++) **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/区间交集问题.md b/算法思维系列/区间交集问题.md index b2ca238..7e1aebd 100644 --- a/算法思维系列/区间交集问题.md +++ b/算法思维系列/区间交集问题.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [经典动态规划:编辑距离](https://labuladong.gitbook.io/algo) - * [经典动态规划:高楼扔鸡蛋(进阶)](https://labuladong.gitbook.io/algo) + * [经典动态规划:编辑距离](https://labuladong.gitbook.io/algo/) + * [经典动态规划:高楼扔鸡蛋(进阶)](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -125,7 +125,7 @@ def intervalIntersection(A, B): **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/区间调度问题之区间合并.md b/算法思维系列/区间调度问题之区间合并.md index 7972184..1aaaa17 100644 --- a/算法思维系列/区间调度问题之区间合并.md +++ b/算法思维系列/区间调度问题之区间合并.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [Git原理之最近公共祖先](https://labuladong.gitbook.io/algo) - * [洗牌算法](https://labuladong.gitbook.io/algo) + * [Git原理之最近公共祖先](https://labuladong.gitbook.io/algo/) + * [洗牌算法](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -83,7 +83,7 @@ def merge(intervals): **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/双指针技巧.md b/算法思维系列/双指针技巧.md index ff2aebe..11f1b56 100644 --- a/算法思维系列/双指针技巧.md +++ b/算法思维系列/双指针技巧.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [一文秒杀四道原地修改数组的算法题](https://labuladong.gitbook.io/algo) - * [Linux的进程、线程、文件描述符是什么](https://labuladong.gitbook.io/algo) + * [一文秒杀四道原地修改数组的算法题](https://labuladong.gitbook.io/algo/) + * [Linux的进程、线程、文件描述符是什么](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -221,13 +221,13 @@ void reverse(int[] nums) { 这也许是双指针技巧的最高境界了,如果掌握了此算法,可以解决一大类子字符串匹配的问题,不过「滑动窗口」稍微比上述的这些算法复杂些。 -幸运的是,这类算法是有框架模板的,而且[这篇文章](https://labuladong.gitbook.io/algo)就讲解了「滑动窗口」算法模板,帮大家秒杀几道 LeetCode 子串匹配的问题。 +幸运的是,这类算法是有框架模板的,而且[这篇文章](https://labuladong.gitbook.io/algo/)就讲解了「滑动窗口」算法模板,帮大家秒杀几道 LeetCode 子串匹配的问题。 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/回溯算法详解修订版.md b/算法思维系列/回溯算法详解修订版.md index 07e1bfb..37c3732 100644 --- a/算法思维系列/回溯算法详解修订版.md +++ b/算法思维系列/回溯算法详解修订版.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [我写了首诗,把滑动窗口算法算法变成了默写题](https://labuladong.gitbook.io/algo) - * [经典动态规划:高楼扔鸡蛋(进阶)](https://labuladong.gitbook.io/algo) + * [我写了首诗,把滑动窗口算法算法变成了默写题](https://labuladong.gitbook.io/algo/) + * [经典动态规划:高楼扔鸡蛋(进阶)](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -301,7 +301,7 @@ def backtrack(...): **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/字符串乘法.md b/算法思维系列/字符串乘法.md index 83d1087..966aafd 100644 --- a/算法思维系列/字符串乘法.md +++ b/算法思维系列/字符串乘法.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [关于 Linux shell 你必须知道的](https://labuladong.gitbook.io/algo) - * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo) + * [关于 Linux shell 你必须知道的](https://labuladong.gitbook.io/algo/) + * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -93,7 +93,7 @@ string multiply(string num1, string num2) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/学习数据结构和算法的高效方法.md b/算法思维系列/学习数据结构和算法的高效方法.md index a5beaf3..54c0b8d 100644 --- a/算法思维系列/学习数据结构和算法的高效方法.md +++ b/算法思维系列/学习数据结构和算法的高效方法.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [twoSum问题的核心思想](https://labuladong.gitbook.io/algo) - * [经典动态规划:高楼扔鸡蛋(进阶)](https://labuladong.gitbook.io/algo) + * [twoSum问题的核心思想](https://labuladong.gitbook.io/algo/) + * [经典动态规划:高楼扔鸡蛋(进阶)](https://labuladong.gitbook.io/algo/) **-----------** @@ -130,7 +130,7 @@ N 叉树的遍历又可以扩展为图的遍历,因为图就是好几 N 叉棵 首先要明确的是,**数据结构是工具,算法是通过合适的工具解决特定问题的方法**。也就是说,学习算法之前,最起码得了解那些常用的数据结构,了解它们的特性和缺陷。 -那么该如何在 LeetCode 刷题呢?之前的文章[算法学习之路](https://labuladong.gitbook.io/algo)写过一些,什么按标签刷,坚持下去云云。现在距那篇文章已经过去将近一年了,我不说那些不痛不痒的话,直接说具体的建议: +那么该如何在 LeetCode 刷题呢?之前的文章[算法学习之路](https://labuladong.gitbook.io/algo/)写过一些,什么按标签刷,坚持下去云云。现在距那篇文章已经过去将近一年了,我不说那些不痛不痒的话,直接说具体的建议: **先刷二叉树,先刷二叉树,先刷二叉树**! @@ -214,7 +214,7 @@ void traverse(TreeNode* node) { 再举例吧,说几道我们之前文章写过的问题。 -[动态规划详解](https://labuladong.gitbook.io/algo)说过凑零钱问题,暴力解法就是遍历一棵 N 叉树: +[动态规划详解](https://labuladong.gitbook.io/algo/)说过凑零钱问题,暴力解法就是遍历一棵 N 叉树: ![](../pictures/动态规划详解进阶/5.jpg) @@ -247,7 +247,7 @@ def dp(n): 其实很多动态规划问题就是在遍历一棵树,你如果对树的遍历操作烂熟于心,起码知道怎么把思路转化成代码,也知道如何提取别人解法的核心思路。 -再看看回溯算法,前文[回溯算法详解](https://labuladong.gitbook.io/algo)干脆直接说了,回溯算法就是个 N 叉树的前后序遍历问题,没有例外。 +再看看回溯算法,前文[回溯算法详解](https://labuladong.gitbook.io/algo/)干脆直接说了,回溯算法就是个 N 叉树的前后序遍历问题,没有例外。 比如 N 皇后问题吧,主要代码如下: @@ -286,7 +286,7 @@ N 叉树的遍历框架,找出来了把~你说,树这种结构重不重要 但是,你要是心中没有框架,那么你根本无法解题,给了你答案,你也不会发现这就是个树的遍历问题。 -这种思维是很重要的,[动态规划详解](https://labuladong.gitbook.io/algo)中总结的找状态转移方程的几步流程,有时候按照流程写出解法,说实话我自己都不知道为啥是对的,反正它就是对了。。。 +这种思维是很重要的,[动态规划详解](https://labuladong.gitbook.io/algo/)中总结的找状态转移方程的几步流程,有时候按照流程写出解法,说实话我自己都不知道为啥是对的,反正它就是对了。。。 **这就是框架的力量,能够保证你在快睡着的时候,依然能写出正确的程序;就算你啥都不会,都能比别人高一个级别。** @@ -301,7 +301,7 @@ N 叉树的遍历框架,找出来了把~你说,树这种结构重不重要 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/常用的位操作.md b/算法思维系列/常用的位操作.md index 98f3e4b..b56e56c 100644 --- a/算法思维系列/常用的位操作.md +++ b/算法思维系列/常用的位操作.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [40张图解:TCP三次握手和四次挥手面试题](https://labuladong.gitbook.io/algo) - * [动态规划答疑篇](https://labuladong.gitbook.io/algo) + * [40张图解:TCP三次握手和四次挥手面试题](https://labuladong.gitbook.io/algo/) + * [动态规划答疑篇](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -164,7 +164,7 @@ http://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/洗牌算法.md b/算法思维系列/洗牌算法.md index 463a7f1..0ce3b64 100644 --- a/算法思维系列/洗牌算法.md +++ b/算法思维系列/洗牌算法.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [二叉搜索树操作集锦](https://labuladong.gitbook.io/algo) - * [动态规划解题套路框架](https://labuladong.gitbook.io/algo) + * [二叉搜索树操作集锦](https://labuladong.gitbook.io/algo/) + * [动态规划解题套路框架](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -203,7 +203,7 @@ for (int feq : count) **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/滑动窗口技巧.md b/算法思维系列/滑动窗口技巧.md index e213979..c116188 100644 --- a/算法思维系列/滑动窗口技巧.md +++ b/算法思维系列/滑动窗口技巧.md @@ -12,8 +12,8 @@ **最新消息:关注公众号参与活动,有机会成为 [70k star 算法仓库](https://github.com/labuladong/fucking-algorithm) 的贡献者,机不可失时不再来**! 相关推荐: -* [东哥吃葡萄时竟然吃出一道算法题!](https://labuladong.gitbook.io/algo) -* [如何寻找缺失的元素](https://labuladong.gitbook.io/algo) +* [东哥吃葡萄时竟然吃出一道算法题!](https://labuladong.gitbook.io/algo/) +* [如何寻找缺失的元素](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -363,7 +363,7 @@ class Solution: **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/烧饼排序.md b/算法思维系列/烧饼排序.md index 6d4d456..22ed46b 100644 --- a/算法思维系列/烧饼排序.md +++ b/算法思维系列/烧饼排序.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo) - * [Union-Find算法应用](https://labuladong.gitbook.io/algo) + * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo/) + * [Union-Find算法应用](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -34,7 +34,7 @@ ![](../pictures/pancakeSort/title.png) -如何解决这个问题呢?其实类似上篇文章 [递归反转链表的一部分](https://labuladong.gitbook.io/algo),这也是需要**递归思想**的。 +如何解决这个问题呢?其实类似上篇文章 [递归反转链表的一部分](https://labuladong.gitbook.io/algo/),这也是需要**递归思想**的。 ### 一、思路分析 @@ -141,7 +141,7 @@ void reverse(int[] arr, int i, int j) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/算法学习之路.md b/算法思维系列/算法学习之路.md index 0446ffa..6f16d56 100644 --- a/算法思维系列/算法学习之路.md +++ b/算法思维系列/算法学习之路.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [Git/SQL/正则表达式的在线练习平台](https://labuladong.gitbook.io/algo) - * [回溯算法团灭子集、排列、组合问题](https://labuladong.gitbook.io/algo) + * [Git/SQL/正则表达式的在线练习平台](https://labuladong.gitbook.io/algo/) + * [回溯算法团灭子集、排列、组合问题](https://labuladong.gitbook.io/algo/) **-----------** @@ -96,7 +96,7 @@ PS:**如果有的英文题目实在看不懂,有个小技巧**,你在题 **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/算法思维系列/递归详解.md b/算法思维系列/递归详解.md index b9a9928..cc68a61 100644 --- a/算法思维系列/递归详解.md +++ b/算法思维系列/递归详解.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [特殊数据结构:单调队列](https://labuladong.gitbook.io/algo) - * [设计Twitter](https://labuladong.gitbook.io/algo) + * [特殊数据结构:单调队列](https://labuladong.gitbook.io/algo/) + * [设计Twitter](https://labuladong.gitbook.io/algo/) **-----------** @@ -267,7 +267,7 @@ https://leetcode.com/tag/divide-and-conquer/ **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/LRU算法.md b/高频面试系列/LRU算法.md index caa550a..5215f18 100644 --- a/高频面试系列/LRU算法.md +++ b/高频面试系列/LRU算法.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [25 张图解:键入网址后,到网页显示,其间发生了什么](https://labuladong.gitbook.io/algo) - * [如何在无限序列中随机抽取元素](https://labuladong.gitbook.io/algo) + * [25 张图解:键入网址后,到网页显示,其间发生了什么](https://labuladong.gitbook.io/algo/) + * [如何在无限序列中随机抽取元素](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -338,7 +338,7 @@ class LRUCache { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/koko偷香蕉.md b/高频面试系列/koko偷香蕉.md index e204552..2322bba 100644 --- a/高频面试系列/koko偷香蕉.md +++ b/高频面试系列/koko偷香蕉.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何运用贪心思想玩跳跃游戏](https://labuladong.gitbook.io/algo) - * [如何寻找最长回文子串](https://labuladong.gitbook.io/algo) + * [如何运用贪心思想玩跳跃游戏](https://labuladong.gitbook.io/algo/) + * [如何寻找最长回文子串](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -161,7 +161,7 @@ for (int i = 0; i < n; i++) **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/k个一组反转链表.md b/高频面试系列/k个一组反转链表.md index 83fbd98..1766b4a 100644 --- a/高频面试系列/k个一组反转链表.md +++ b/高频面试系列/k个一组反转链表.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [区间调度之区间交集问题](https://labuladong.gitbook.io/algo) - * [动态规划和回溯算法到底谁是谁爹?](https://labuladong.gitbook.io/algo) + * [区间调度之区间交集问题](https://labuladong.gitbook.io/algo/) + * [动态规划和回溯算法到底谁是谁爹?](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -32,7 +32,7 @@ ### 一、分析问题 -首先,前文[学习数据结构的框架思维](https://labuladong.gitbook.io/algo)提到过,链表是一种兼具递归和迭代性质的数据结构,认真思考一下可以发现**这个问题具有递归性质**。 +首先,前文[学习数据结构的框架思维](https://labuladong.gitbook.io/algo/)提到过,链表是一种兼具递归和迭代性质的数据结构,认真思考一下可以发现**这个问题具有递归性质**。 什么叫递归性质?直接上图理解,比如说我们对这个链表调用 `reverseKGroup(head, 2)`,即以 2 个节点为一组反转链表: @@ -148,7 +148,7 @@ ListNode reverseKGroup(ListNode head, int k) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/一行代码解决的智力题.md b/高频面试系列/一行代码解决的智力题.md index 0afa085..af43a75 100644 --- a/高频面试系列/一行代码解决的智力题.md +++ b/高频面试系列/一行代码解决的智力题.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [学习算法和数据结构的思路指南](https://labuladong.gitbook.io/algo) - * [我用四个命令概括了 Git 的所有套路](https://labuladong.gitbook.io/algo) + * [学习算法和数据结构的思路指南](https://labuladong.gitbook.io/algo/) + * [我用四个命令概括了 Git 的所有套路](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -141,7 +141,7 @@ int bulbSwitch(int n) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/二分查找判定子序列.md b/高频面试系列/二分查找判定子序列.md index e9c5b0f..f522891 100644 --- a/高频面试系列/二分查找判定子序列.md +++ b/高频面试系列/二分查找判定子序列.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [twoSum问题的核心思想](https://labuladong.gitbook.io/algo) - * [经典动态规划:子集背包问题](https://labuladong.gitbook.io/algo) + * [twoSum问题的核心思想](https://labuladong.gitbook.io/algo/) + * [经典动态规划:子集背包问题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -20,7 +20,7 @@ **-----------** -二分查找本身不难理解,难在巧妙地运用二分查找技巧。对于一个问题,你可能都很难想到它跟二分查找有关,比如前文 [最长递增子序列](https://labuladong.gitbook.io/algo) 就借助一个纸牌游戏衍生出二分查找解法。 +二分查找本身不难理解,难在巧妙地运用二分查找技巧。对于一个问题,你可能都很难想到它跟二分查找有关,比如前文 [最长递增子序列](https://labuladong.gitbook.io/algo/) 就借助一个纸牌游戏衍生出二分查找解法。 今天再讲一道巧用二分查找的算法问题:如何判定字符串 `s` 是否是字符串 `t` 的子序列(可以假定 `s` 长度比较小,且 `t` 的长度非常大)。举两个例子: @@ -95,7 +95,7 @@ for (int i = 0; i < n; i++) { ### 三、再谈二分查找 -在前文 [二分查找详解](https://labuladong.gitbook.io/algo) 中,详解了如何正确写出三种二分查找算法的细节。二分查找返回目标值 `val` 的索引,对于搜索**左侧边界**的二分查找,有一个特殊性质: +在前文 [二分查找详解](https://labuladong.gitbook.io/algo/) 中,详解了如何正确写出三种二分查找算法的细节。二分查找返回目标值 `val` 的索引,对于搜索**左侧边界**的二分查找,有一个特殊性质: **当 `val` 不存在时,得到的索引恰好是比 `val` 大的最小元素索引**。 @@ -160,7 +160,7 @@ boolean isSubsequence(String s, String t) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/判断回文链表.md b/高频面试系列/判断回文链表.md index 4d0225a..bb1a6aa 100644 --- a/高频面试系列/判断回文链表.md +++ b/高频面试系列/判断回文链表.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何高效进行模幂运算](https://labuladong.gitbook.io/algo) - * [一文学会递归解题](https://labuladong.gitbook.io/algo) + * [如何高效进行模幂运算](https://labuladong.gitbook.io/algo/) + * [一文学会递归解题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -229,7 +229,7 @@ p.next = reverse(q); **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/合法括号判定.md b/高频面试系列/合法括号判定.md index 6516aa1..c183b51 100644 --- a/高频面试系列/合法括号判定.md +++ b/高频面试系列/合法括号判定.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo) - * [Linux shell 的实用小技巧](https://labuladong.gitbook.io/algo) + * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo/) + * [Linux shell 的实用小技巧](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -104,7 +104,7 @@ char leftOf(char c) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/如何去除有序数组的重复元素.md b/高频面试系列/如何去除有序数组的重复元素.md index 1cdec24..4e662a8 100644 --- a/高频面试系列/如何去除有序数组的重复元素.md +++ b/高频面试系列/如何去除有序数组的重复元素.md @@ -110,7 +110,7 @@ def deleteDuplicates(self, head: ListNode) -> ListNode: **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/子集排列组合.md b/高频面试系列/子集排列组合.md index bdb6bbe..cda2e83 100644 --- a/高频面试系列/子集排列组合.md +++ b/高频面试系列/子集排列组合.md @@ -12,8 +12,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo) - * [twoSum问题的核心思想](https://labuladong.gitbook.io/algo) + * [回溯算法解题套路框架](https://labuladong.gitbook.io/algo/) + * [twoSum问题的核心思想](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -276,7 +276,7 @@ void backtrack(int[] nums, LinkedList track) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/座位调度.md b/高频面试系列/座位调度.md index 21e45ef..4fbca5f 100644 --- a/高频面试系列/座位调度.md +++ b/高频面试系列/座位调度.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [一个方法团灭 LeetCode 股票买卖问题](https://labuladong.gitbook.io/algo) - * [Linux shell 的实用小技巧](https://labuladong.gitbook.io/algo) + * [一个方法团灭 LeetCode 股票买卖问题](https://labuladong.gitbook.io/algo/) + * [Linux shell 的实用小技巧](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -225,7 +225,7 @@ private int distance(int[] intv) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/打印素数.md b/高频面试系列/打印素数.md index 3a58074..8e71f3e 100644 --- a/高频面试系列/打印素数.md +++ b/高频面试系列/打印素数.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [算法就像搭乐高:带你手撸 LRU 算法](https://labuladong.gitbook.io/algo) - * [区间调度之区间合并问题](https://labuladong.gitbook.io/algo) + * [算法就像搭乐高:带你手撸 LRU 算法](https://labuladong.gitbook.io/algo/) + * [区间调度之区间合并问题](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -170,7 +170,7 @@ int countPrimes(int n) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/接雨水.md b/高频面试系列/接雨水.md index a500aac..87357fe 100644 --- a/高频面试系列/接雨水.md +++ b/高频面试系列/接雨水.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo) - * [45张图解:IP基础知识全家桶](https://labuladong.gitbook.io/algo) + * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo/) + * [45张图解:IP基础知识全家桶](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -203,7 +203,7 @@ if (l_max < r_max) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/最长回文子串.md b/高频面试系列/最长回文子串.md index d69b65e..5873277 100644 --- a/高频面试系列/最长回文子串.md +++ b/高频面试系列/最长回文子串.md @@ -12,8 +12,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [如何运用二分查找算法](https://labuladong.gitbook.io/algo) - * [动态规划答疑篇](https://labuladong.gitbook.io/algo) + * [如何运用二分查找算法](https://labuladong.gitbook.io/algo/) + * [动态规划答疑篇](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -123,7 +123,7 @@ string longestPalindrome(string s) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/水塘抽样.md b/高频面试系列/水塘抽样.md index fe0dd09..e107ef5 100644 --- a/高频面试系列/水塘抽样.md +++ b/高频面试系列/水塘抽样.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [一文看懂 session 和 cookie](https://labuladong.gitbook.io/algo) - * [算法就像搭乐高:带你手撸 LFU 算法](https://labuladong.gitbook.io/algo) + * [一文看懂 session 和 cookie](https://labuladong.gitbook.io/algo/) + * [算法就像搭乐高:带你手撸 LFU 算法](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -140,7 +140,7 @@ $$ --> **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/消失的元素.md b/高频面试系列/消失的元素.md index 355953e..e434b50 100644 --- a/高频面试系列/消失的元素.md +++ b/高频面试系列/消失的元素.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [学习算法和数据结构的思路指南](https://labuladong.gitbook.io/algo) - * [回溯算法最佳实践:括号生成](https://labuladong.gitbook.io/algo) + * [学习算法和数据结构的思路指南](https://labuladong.gitbook.io/algo/) + * [回溯算法最佳实践:括号生成](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -125,7 +125,7 @@ public int missingNumber(int[] nums) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。 diff --git a/高频面试系列/缺失和重复的元素.md b/高频面试系列/缺失和重复的元素.md index eb21f4c..defccd3 100644 --- a/高频面试系列/缺失和重复的元素.md +++ b/高频面试系列/缺失和重复的元素.md @@ -11,8 +11,8 @@ ![](../pictures/souyisou.png) 相关推荐: - * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo) - * [25 张图解:键入网址后,到网页显示,其间发生了什么](https://labuladong.gitbook.io/algo) + * [手把手带你刷二叉树(第三期)](https://labuladong.gitbook.io/algo/) + * [25 张图解:键入网址后,到网页显示,其间发生了什么](https://labuladong.gitbook.io/algo/) 读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目: @@ -131,7 +131,7 @@ vector findErrorNums(vector& nums) { **_____________** -**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo) 持续更新最新文章**。 +**刷算法,学套路,认准 labuladong,公众号和 [在线电子书](https://labuladong.gitbook.io/algo/) 持续更新最新文章**。 **本小抄即将出版,微信扫码关注公众号,后台回复「小抄」限时免费获取,回复「进群」可进刷题群一起刷题,带你搞定 LeetCode**。