From 718175151f8877b13690027dc692642f6dd9b997 Mon Sep 17 00:00:00 2001 From: labuladong Date: Sun, 28 Apr 2024 21:17:31 +0800 Subject: [PATCH] update content --- 动态规划系列/LCS.md | 2 +- .../动态规划之KMP字符匹配算法.md | 2 +- .../动态规划之博弈问题.md | 2 +- .../动态规划之四键键盘.md | 2 +- .../动态规划之正则表达.md | 2 +- ...态规划设计:最长递增子序列.md | 2 +- .../动态规划详解进阶.md | 2 +- 动态规划系列/单词拼接.md | 2 +- 动态规划系列/团灭股票问题.md | 2 +- 动态规划系列/子序列问题模板.md | 2 +- 动态规划系列/抢房子.md | 2 +- 动态规划系列/最优子结构.md | 2 +- 动态规划系列/状态压缩技巧.md | 2 +- 动态规划系列/编辑距离.md | 2 +- 动态规划系列/背包问题.md | 2 +- .../贪心算法之区间调度问题.md | 2 +- 动态规划系列/高楼扔鸡蛋问题.md | 2 +- 动态规划系列/魔塔.md | 2 +- 多语言解法代码/solution_code.md | 507 +++++++++++++++++- 技术/linuxshell.md | 2 +- 技术/linux进程.md | 2 +- 技术/redis入侵.md | 2 +- 技术/session和cookie.md | 2 +- 技术/刷题技巧.md | 2 +- 技术/在线练习平台.md | 2 +- 技术/密码技术.md | 2 +- 数据结构系列/BST1.md | 2 +- 数据结构系列/BST2.md | 2 +- 数据结构系列/dijkstra算法.md | 3 +- .../二叉堆详解实现优先级队列.md | 2 +- 数据结构系列/二叉树总结.md | 3 +- 数据结构系列/二叉树系列1.md | 2 +- 数据结构系列/二叉树系列2.md | 2 +- 数据结构系列/单调栈.md | 2 +- 数据结构系列/单调队列.md | 2 +- 数据结构系列/图.md | 2 +- 数据结构系列/实现计算器.md | 2 +- 数据结构系列/拓扑排序.md | 2 +- 数据结构系列/设计Twitter.md | 2 +- .../递归反转链表的一部分.md | 2 +- .../队列实现栈栈实现队列.md | 2 +- 算法思维系列/BFS框架.md | 3 +- 算法思维系列/BFS解决滑动拼图.md | 2 +- 算法思维系列/UnionFind算法详解.md | 2 +- 算法思维系列/二分查找详解.md | 2 +- .../几个反直觉的概率问题.md | 2 +- 算法思维系列/前缀和技巧.md | 2 +- 算法思维系列/双指针技巧.md | 2 +- .../回溯算法详解修订版.md | 3 +- 算法思维系列/字符串乘法.md | 2 +- ...习数据结构和算法的高效方法.md | 2 +- 算法思维系列/差分技巧.md | 2 +- 算法思维系列/常用的位操作.md | 2 +- 算法思维系列/洗牌算法.md | 2 +- .../滑动窗口技巧进阶.md | 2 +- 算法思维系列/烧饼排序.md | 2 +- 算法思维系列/花式遍历.md | 2 +- 算法思维系列/集合划分.md | 2 +- 高频面试系列/LRU算法.md | 9 +- 高频面试系列/k个一组反转链表.md | 2 +- .../一行代码解决的智力题.md | 2 +- .../二分查找判定子序列.md | 2 +- 高频面试系列/二分运用.md | 2 +- 高频面试系列/判断回文链表.md | 2 +- 高频面试系列/名人问题.md | 2 +- 高频面试系列/子集排列组合.md | 2 +- 高频面试系列/安排会议室.md | 2 +- 高频面试系列/岛屿题目.md | 2 +- 高频面试系列/座位调度.md | 2 +- 高频面试系列/打印素数.md | 2 +- 高频面试系列/接雨水.md | 2 +- .../缺失和重复的元素.md | 2 +- 高频面试系列/随机权重.md | 2 +- 73 files changed, 584 insertions(+), 78 deletions(-) diff --git a/动态规划系列/LCS.md b/动态规划系列/LCS.md index 8240ba0..47e4d99 100644 --- a/动态规划系列/LCS.md +++ b/动态规划系列/LCS.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/动态规划之KMP字符匹配算法.md b/动态规划系列/动态规划之KMP字符匹配算法.md index 9c68b6d..08d45c8 100644 --- a/动态规划系列/动态规划之KMP字符匹配算法.md +++ b/动态规划系列/动态规划之KMP字符匹配算法.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/动态规划之博弈问题.md b/动态规划系列/动态规划之博弈问题.md index ff451b7..9e37113 100644 --- a/动态规划系列/动态规划之博弈问题.md +++ b/动态规划系列/动态规划之博弈问题.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/动态规划之四键键盘.md b/动态规划系列/动态规划之四键键盘.md index e8c2098..f025309 100644 --- a/动态规划系列/动态规划之四键键盘.md +++ b/动态规划系列/动态规划之四键键盘.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/动态规划之正则表达.md b/动态规划系列/动态规划之正则表达.md index 74d12cb..55b859d 100644 --- a/动态规划系列/动态规划之正则表达.md +++ b/动态规划系列/动态规划之正则表达.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/动态规划设计:最长递增子序列.md b/动态规划系列/动态规划设计:最长递增子序列.md index 23e96b7..22a8d3b 100644 --- a/动态规划系列/动态规划设计:最长递增子序列.md +++ b/动态规划系列/动态规划设计:最长递增子序列.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/动态规划详解进阶.md b/动态规划系列/动态规划详解进阶.md index 75f18bd..5a900f0 100644 --- a/动态规划系列/动态规划详解进阶.md +++ b/动态规划系列/动态规划详解进阶.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/单词拼接.md b/动态规划系列/单词拼接.md index 78da629..7520bc9 100644 --- a/动态规划系列/单词拼接.md +++ b/动态规划系列/单词拼接.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/团灭股票问题.md b/动态规划系列/团灭股票问题.md index 09e837d..a75683a 100644 --- a/动态规划系列/团灭股票问题.md +++ b/动态规划系列/团灭股票问题.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/子序列问题模板.md b/动态规划系列/子序列问题模板.md index 20af90e..e94bfd3 100644 --- a/动态规划系列/子序列问题模板.md +++ b/动态规划系列/子序列问题模板.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/抢房子.md b/动态规划系列/抢房子.md index 3a35836..f79628e 100644 --- a/动态规划系列/抢房子.md +++ b/动态规划系列/抢房子.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/最优子结构.md b/动态规划系列/最优子结构.md index 25192da..0060d3c 100644 --- a/动态规划系列/最优子结构.md +++ b/动态规划系列/最优子结构.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/状态压缩技巧.md b/动态规划系列/状态压缩技巧.md index 22ca88c..2870ed7 100644 --- a/动态规划系列/状态压缩技巧.md +++ b/动态规划系列/状态压缩技巧.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/编辑距离.md b/动态规划系列/编辑距离.md index 7a47317..61951a8 100644 --- a/动态规划系列/编辑距离.md +++ b/动态规划系列/编辑距离.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/背包问题.md b/动态规划系列/背包问题.md index 47afeb6..bed547d 100644 --- a/动态规划系列/背包问题.md +++ b/动态规划系列/背包问题.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/贪心算法之区间调度问题.md b/动态规划系列/贪心算法之区间调度问题.md index 904c355..3f26d52 100644 --- a/动态规划系列/贪心算法之区间调度问题.md +++ b/动态规划系列/贪心算法之区间调度问题.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/高楼扔鸡蛋问题.md b/动态规划系列/高楼扔鸡蛋问题.md index 6512a80..d6d6d21 100644 --- a/动态规划系列/高楼扔鸡蛋问题.md +++ b/动态规划系列/高楼扔鸡蛋问题.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/动态规划系列/魔塔.md b/动态规划系列/魔塔.md index 11fa546..4e36074 100644 --- a/动态规划系列/魔塔.md +++ b/动态规划系列/魔塔.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/多语言解法代码/solution_code.md b/多语言解法代码/solution_code.md index 4a577d5..5a7e539 100644 --- a/多语言解法代码/solution_code.md +++ b/多语言解法代码/solution_code.md @@ -7179,8 +7179,10 @@ class Solution { // 穷举前两个数字 int n = num.length(); for (int i = 1; i <= n; i++) { + // 先穷举第一个数字 + String first = num.substring(0, i); for (int j = i + 1; j <= n; j++) { - String first = num.substring(0, i); + // 再穷举第二个数字 String second = num.substring(i, j); if (isValid(num, first, second)) { return true; @@ -16406,6 +16408,97 @@ class Solution: https://leetcode.cn/problems/count-complete-tree-nodes 的多语言解法👆 +https://leetcode.cn/problems/count-numbers-with-unique-digits 的多语言解法👇 + +```cpp +// by chatGPT (cpp) +class Solution { +public: + int countNumbersWithUniqueDigits(int n) { + if (n == 0) return 1; + if (n == 1) return 10; + int res = 9; + // 计算 n 位数的阶乘,共有几种不同数字的排列组合 + for (int i = 1; i < n; i++) { + res *= (10 - i); + } + // 最后要加上 n - 1 位数的排列组合 + return res + countNumbersWithUniqueDigits(n - 1); + } +}; +``` + +```go +// by chatGPT (go) +// Solution function +func countNumbersWithUniqueDigits(n int) int { + if n == 0 { + return 1 + } + if n == 1 { + return 10 + } + res := 9 + + // 计算 n 位数的阶乘,共有几种不同数字的排列组合 + for i := 1; i < n; i++ { + res *= (10 - i) + } + // 最后要加上 n - 1 位数的排列组合 + return res + countNumbersWithUniqueDigits(n - 1) +} +``` + +```java +// by labuladong (java) +class Solution { + public int countNumbersWithUniqueDigits(int n) { + if (n == 0) return 1; + if (n == 1) return 10; + int res = 9; + // 计算 n 位数的阶乘,共有几种不同数字的排列组合 + for (int i = 1; i < n; i++) { + res *= (10 - i); + } + // 最后要加上 n - 1 位数的排列组合 + return res + countNumbersWithUniqueDigits(n - 1); + } +} +``` + +```javascript +// by chatGPT (javascript) +var countNumbersWithUniqueDigits = function(n) { + if (n == 0) return 1; + if (n == 1) return 10; + var res = 9; + // 计算 n 位数的阶乘,共有几种不同数字的排列组合 + for (var i = 1; i < n; i++) { + res *= (10 - i); + } + // 最后要加上 n - 1 位数的排列组合 + return res + countNumbersWithUniqueDigits(n - 1); +}; +``` + +```python +# by chatGPT (python) +class Solution: + def countNumbersWithUniqueDigits(self, n: int) -> int: + if n == 0: + return 1 + if n == 1: + return 10 + res = 9 + # 计算 n 位数的阶乘,共有几种不同数字的排列组合 + for i in range(1, n): + res *= (10 - i) + # 最后要加上 n - 1 位数的排列组合 + return res + self.countNumbersWithUniqueDigits(n - 1) +``` + +https://leetcode.cn/problems/count-numbers-with-unique-digits 的多语言解法👆 + https://leetcode.cn/problems/count-of-range-sum 的多语言解法👇 ```cpp @@ -25790,6 +25883,48 @@ https://leetcode.cn/problems/flatten-nested-list-iterator 的多语言解法👆 https://leetcode.cn/problems/flip-game 的多语言解法👇 +```cpp +// by chatGPT (cpp) +class Solution { +public: + vector generatePossibleNextMoves(string currentState) { + vector res; + for (int i = 1; i < currentState.size(); i++) { + if (currentState[i] == '+' && currentState[i - 1] == '+') { + // 做选择 + currentState[i] = '-'; + currentState[i - 1] = '-'; + res.push_back(currentState); + // 撤销选择 + currentState[i] = '+'; + currentState[i - 1] = '+'; + } + } + return res; + } +}; +``` + +```go +// by chatGPT (go) +func generatePossibleNextMoves(currentState string) []string { + res := []string{} + arr := []rune(currentState) + for i := 1; i < len(arr); i++ { + if arr[i] == '+' && arr[i-1] == '+' { + // 做选择 + arr[i] = '-' + arr[i-1] = '-' + res = append(res, string(arr)) + // 撤销选择 + arr[i] = '+' + arr[i-1] = '+' + } + } + return res +} +``` + ```java // by labuladong (java) class Solution { @@ -25812,10 +25947,161 @@ class Solution { } ``` +```javascript +// by chatGPT (javascript) +var generatePossibleNextMoves = function(currentState) { + var res = []; + var arr = Array.from(currentState); + for (var i = 1; i < arr.length; i++) { + if (arr[i] === '+' && arr[i - 1] === '+') { + // 做选择 + arr[i] = '-'; + arr[i - 1] = '-'; + res.push(arr.join('')); + // 撤销选择 + arr[i] = '+'; + arr[i - 1] = '+'; + } + } + return res; +} +``` + +```python +# by chatGPT (python) +class Solution(object): + def generatePossibleNextMoves(self, currentState): + """ + :type currentState: str + :rtype: List[str] + """ + res = [] + for i in range(1, len(currentState)): + if currentState[i] == '+' and currentState[i - 1] == '+': + # 做选择 + res.append(currentState[:i - 1] + '--' + currentState[i + 1:]) + # 撤销选择 is not needed in python due to its immutability of string + return res +``` + https://leetcode.cn/problems/flip-game 的多语言解法👆 https://leetcode.cn/problems/flip-game-ii 的多语言解法👇 +```cpp +// by chatGPT (cpp) +class Solution { +public: + // 直接把 293 的代码 copy 过来,生成所有可能的下一步 + vector generatePossibleNextMoves(string currentState) { + vector res; + for (int i = 1; i < currentState.size(); i++) { + if (currentState[i] == '+' && currentState[i - 1] == '+') { + // 做选择 + currentState[i] = '-'; + currentState[i - 1] = '-'; + res.push_back(currentState); + // 撤销选择 + currentState[i] = '+'; + currentState[i - 1] = '+'; + } + } + return res; + } + + // 备忘录 + unordered_map memo; + + bool canWin(string currentState) { + // 记入备忘录 + memo.clear(); + return dp(currentState); + } + + // 定义:输入字符串 s,返回在此局面下先手是否可能赢 + bool dp(string s) { + if (memo.find(s) != memo.end()) { + // 之前遇到过这种局面,直接返回结果 + return memo[s]; + } + vector nextStates = generatePossibleNextMoves(s); + bool res = false; + for (string nextState : nextStates) { + // 只要有一个是 false,说明当前玩家赢了 + bool win = dp(nextState); + // 后序位置,做判断 + if (!win) { + res = true; + break; + } + } + // 记入备忘录 + memo[s] = res; + return res; + } +}; +``` + +```go +// by chatGPT (go) +import "strings" + +// 直接把 293 的代码 copy 过来,生成所有可能的下一步 +func generatePossibleNextMoves(currentState string) []string { + res := make([]string, 0) + arr := []rune(currentState) + for i := 1; i < len(arr); i++ { + if arr[i] == '+' && arr[i-1] == '+' { + // making a choice + // 做选择 + arr[i] = '-' + arr[i-1] = '-' + res = append(res, string(arr)) + // undo choice + // 撤销选择 + arr[i] = '+' + arr[i-1] = '+' + } + } + return res +} + +func canWin(currentState string) bool { + // Definition: Enter string s, return whether the first hand can win in this face. + // 定义:输入字符串 s,返回在此局面下先手是否可能赢 + var dp func(string, map[string]bool) bool + dp = func(s string, memo map[string]bool) bool { + if _, ok := memo[s]; ok { + // have encountered this position before, return the result directly + // 之前遇到过这种局面,直接返回结果 + return memo[s] + } + res := false + nextStates := generatePossibleNextMoves(s) + for _, nextState := range nextStates { + // As long as one is false, it means the current player won + // 只要有一个是 false,说明当前玩家赢了 + win := dp(nextState, memo) + // subsequent position, make a judgment + // 后序位置,做判断 + if !win { + res = true + break + } + } + // record in the memo + // 记入备忘录 + memo[s] = res + return res + } + + // memo is a map that acts as the memoization for dp. + // 备忘录 + memo := make(map[string]bool) + return dp(currentState, memo) +} +``` + ```java // by labuladong (java) class Solution { @@ -25871,6 +26157,52 @@ class Solution { } ``` +```python +# by chatGPT (python) +class Solution: + + # 直接把 293 的代码 copy 过来,生成所有可能的下一步 + def generatePossibleNextMoves(self, currentState): + res = [] + arr = list(currentState) + for i in range(1, len(arr)): + if arr[i] == '+' and arr[i - 1] == '+': + # 做选择 + arr[i] = '-' + arr[i - 1] = '-' + res.append("".join(arr)) + # 撤销选择 + arr[i] = '+' + arr[i - 1] = '+' + return res + + # 备忘录 + memo = {} + + def canWin(self, currentState): + # 记入备忘录 + self.memo.clear() + return self.dp(currentState) + + # 定义:输入字符串 s,返回在此局面下先手是否可能赢 + def dp(self, s): + if s in self.memo: + # 之前遇到过这种局面,直接返回结果 + return self.memo[s] + res = False + nextStates = self.generatePossibleNextMoves(s) + for nextState in nextStates: + # 只要有一个是 false,说明当前玩家赢了 + win = self.dp(nextState) + # 后序位置,做判断 + if not win: + res = True + break + # 记入备忘录 + self.memo[s] = res + return res +``` + https://leetcode.cn/problems/flip-game-ii 的多语言解法👆 https://leetcode.cn/problems/freedom-trail 的多语言解法👇 @@ -33758,6 +34090,179 @@ class Solution: https://leetcode.cn/problems/letter-combinations-of-a-phone-number 的多语言解法👆 +https://leetcode.cn/problems/letter-tile-possibilities 的多语言解法👇 + +```cpp +// by chatGPT (cpp) +class Solution { +public: + int res = 0; + vector used; + + int numTilePossibilities(string s) { + vector nums(s.begin(), s.end()); + // 先排序,让相同的元素靠在一起 + sort(nums.begin(), nums.end()); + used = vector(nums.size(), false); + backtrack(nums); + return res - 1; + } + + void backtrack(vector& nums) { + res++; + + for (int i = 0; i < nums.size(); i++) { + if (used[i]) { + continue; + } + // 新添加的剪枝逻辑,固定相同的元素在排列中的相对位置 + if (i > 0 && nums[i] == nums[i - 1] && !used[i - 1]) { + continue; + } + used[i] = true; + backtrack(nums); + used[i] = false; + } + } +}; +``` + +```go +// by chatGPT (go) +import ( + "sort" + "strings" +) + +func numTilePossibilities(s string) int { + nums := strings.Split(s, "") + // 先排序,让相同的元素靠在一起 + sort.Strings(nums) + + used := make([]bool, len(nums)) + res := 0 + + var backtrack func(nums []string) + backtrack = func(nums []string) { + res++ + + for i := 0; i < len(nums); i++ { + if used[i] { + continue + } + // 新添加的剪枝逻辑,固定相同的元素在排列中的相对位置 + if i > 0 && nums[i] == nums[i-1] && !used[i-1] { + continue + } + used[i] = true + backtrack(nums) + used[i] = false + } + } + backtrack(nums) + return res - 1 +} +``` + +```java +// by labuladong (java) +class Solution { + + int res = 0; + boolean[] used; + + public int numTilePossibilities(String s) { + char[] nums = s.toCharArray(); + // 先排序,让相同的元素靠在一起 + Arrays.sort(nums); + used = new boolean[nums.length]; + backtrack(nums); + return res - 1; + } + + void backtrack(char[] nums) { + res++; + + for (int i = 0; i < nums.length; i++) { + if (used[i]) { + continue; + } + // 新添加的剪枝逻辑,固定相同的元素在排列中的相对位置 + if (i > 0 && nums[i] == nums[i - 1] && !used[i - 1]) { + continue; + } + used[i] = true; + backtrack(nums); + used[i] = false; + } + } +} +``` + +```javascript +// by chatGPT (javascript) +var numTilePossibilities = function(s) { + var res = 0; + var nums = s.split('').sort(); + var used = new Array(nums.length).fill(false); + + function backtrack(nums) { + res++; + + for (var i = 0; i < nums.length; i++) { + if (used[i]) { + continue; + } + // 新添加的剪枝逻辑,固定相同的元素在排列中的相对位置 + if (i > 0 && nums[i] == nums[i - 1] && !used[i - 1]) { + continue; + } + // 做选择 + used[i] = true; + backtrack(nums); + // 撤销选择 + used[i] = false; + } + } + + backtrack(nums); + + return res - 1; +}; +``` + +```python +# by chatGPT (python) +class Solution: + + def __init__(self): + self.res = 0 + self.used = [] + + def numTilePossibilities(self, s: str) -> int: + nums = list(s) + # 先排序,让相同的元素靠在一起 + nums.sort() + self.used = [False for _ in range(len(nums))] + self.backtrack(nums) + return self.res - 1 + + def backtrack(self, nums: list) -> None: + self.res += 1 + + for i in range(len(nums)): + if self.used[i]: + continue + # 新添加的剪枝逻辑,固定相同的元素在排列中的相对位置 + if i > 0 and nums[i] == nums[i - 1] and not self.used[i - 1]: + continue + self.used[i] = True + self.backtrack(nums) + self.used[i] = False +``` + +https://leetcode.cn/problems/letter-tile-possibilities 的多语言解法👆 + https://leetcode.cn/problems/lfu-cache 的多语言解法👇 ```cpp diff --git a/技术/linuxshell.md b/技术/linuxshell.md index 5b32cdc..bc1de3c 100644 --- a/技术/linuxshell.md +++ b/技术/linuxshell.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/技术/linux进程.md b/技术/linux进程.md index 2c83607..2768b31 100644 --- a/技术/linux进程.md +++ b/技术/linux进程.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/技术/redis入侵.md b/技术/redis入侵.md index e2ee8ae..493529d 100644 --- a/技术/redis入侵.md +++ b/技术/redis入侵.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/技术/session和cookie.md b/技术/session和cookie.md index 810e6cc..6b158ff 100644 --- a/技术/session和cookie.md +++ b/技术/session和cookie.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/技术/刷题技巧.md b/技术/刷题技巧.md index 4019d8f..c8f0bdf 100644 --- a/技术/刷题技巧.md +++ b/技术/刷题技巧.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/技术/在线练习平台.md b/技术/在线练习平台.md index c37d256..827a025 100644 --- a/技术/在线练习平台.md +++ b/技术/在线练习平台.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/技术/密码技术.md b/技术/密码技术.md index 388e157..483bb08 100644 --- a/技术/密码技术.md +++ b/技术/密码技术.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/BST1.md b/数据结构系列/BST1.md index 5358678..798fb2d 100644 --- a/数据结构系列/BST1.md +++ b/数据结构系列/BST1.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/BST2.md b/数据结构系列/BST2.md index 8a187cd..228bdd0 100644 --- a/数据结构系列/BST2.md +++ b/数据结构系列/BST2.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/dijkstra算法.md b/数据结构系列/dijkstra算法.md index ddf6ef1..89b78d8 100644 --- a/数据结构系列/dijkstra算法.md +++ b/数据结构系列/dijkstra算法.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** @@ -324,6 +324,7 @@ void levelTraverse(TreeNode root) { | :----: | :----: | | [286. Walls and Gates](https://leetcode.com/problems/walls-and-gates/?show=1)🔒 | [286. 墙与门](https://leetcode.cn/problems/walls-and-gates/?show=1)🔒 | | [310. Minimum Height Trees](https://leetcode.com/problems/minimum-height-trees/?show=1) | [310. 最小高度树](https://leetcode.cn/problems/minimum-height-trees/?show=1) | +| [329. Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/?show=1) | [329. 矩阵中的最长递增路径](https://leetcode.cn/problems/longest-increasing-path-in-a-matrix/?show=1) | | [542. 01 Matrix](https://leetcode.com/problems/01-matrix/?show=1) | [542. 01 矩阵](https://leetcode.cn/problems/01-matrix/?show=1) | diff --git a/数据结构系列/二叉堆详解实现优先级队列.md b/数据结构系列/二叉堆详解实现优先级队列.md index 493c810..91edbe9 100644 --- a/数据结构系列/二叉堆详解实现优先级队列.md +++ b/数据结构系列/二叉堆详解实现优先级队列.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/二叉树总结.md b/数据结构系列/二叉树总结.md index bf359e7..f2ec08c 100644 --- a/数据结构系列/二叉树总结.md +++ b/数据结构系列/二叉树总结.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** @@ -1007,6 +1007,7 @@ class Solution { | [332. Reconstruct Itinerary](https://leetcode.com/problems/reconstruct-itinerary/?show=1) | [332. 重新安排行程](https://leetcode.cn/problems/reconstruct-itinerary/?show=1) | | [333. Largest BST Subtree](https://leetcode.com/problems/largest-bst-subtree/?show=1)🔒 | [333. 最大 BST 子树](https://leetcode.cn/problems/largest-bst-subtree/?show=1)🔒 | | [366. Find Leaves of Binary Tree](https://leetcode.com/problems/find-leaves-of-binary-tree/?show=1)🔒 | [366. 寻找二叉树的叶子节点](https://leetcode.cn/problems/find-leaves-of-binary-tree/?show=1)🔒 | +| [386. Lexicographical Numbers](https://leetcode.com/problems/lexicographical-numbers/?show=1) | [386. 字典序排数](https://leetcode.cn/problems/lexicographical-numbers/?show=1) | | [404. Sum of Left Leaves](https://leetcode.com/problems/sum-of-left-leaves/?show=1) | [404. 左叶子之和](https://leetcode.cn/problems/sum-of-left-leaves/?show=1) | | [426. Convert Binary Search Tree to Sorted Doubly Linked List](https://leetcode.com/problems/convert-binary-search-tree-to-sorted-doubly-linked-list/?show=1)🔒 | [426. 将二叉搜索树转化为排序的双向链表](https://leetcode.cn/problems/convert-binary-search-tree-to-sorted-doubly-linked-list/?show=1)🔒 | | [437. Path Sum III](https://leetcode.com/problems/path-sum-iii/?show=1) | [437. 路径总和 III](https://leetcode.cn/problems/path-sum-iii/?show=1) | diff --git a/数据结构系列/二叉树系列1.md b/数据结构系列/二叉树系列1.md index 88b1c5a..ddd0db4 100644 --- a/数据结构系列/二叉树系列1.md +++ b/数据结构系列/二叉树系列1.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/二叉树系列2.md b/数据结构系列/二叉树系列2.md index 20b0dc3..a6886cd 100644 --- a/数据结构系列/二叉树系列2.md +++ b/数据结构系列/二叉树系列2.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/单调栈.md b/数据结构系列/单调栈.md index 6dd4bc3..04539f0 100644 --- a/数据结构系列/单调栈.md +++ b/数据结构系列/单调栈.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/单调队列.md b/数据结构系列/单调队列.md index 5460715..4952948 100644 --- a/数据结构系列/单调队列.md +++ b/数据结构系列/单调队列.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/图.md b/数据结构系列/图.md index ad941bc..d4ebdd6 100644 --- a/数据结构系列/图.md +++ b/数据结构系列/图.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/实现计算器.md b/数据结构系列/实现计算器.md index 885a81c..7512364 100644 --- a/数据结构系列/实现计算器.md +++ b/数据结构系列/实现计算器.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/拓扑排序.md b/数据结构系列/拓扑排序.md index 2d3124f..6bc4827 100644 --- a/数据结构系列/拓扑排序.md +++ b/数据结构系列/拓扑排序.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/设计Twitter.md b/数据结构系列/设计Twitter.md index d6cf656..addbb61 100644 --- a/数据结构系列/设计Twitter.md +++ b/数据结构系列/设计Twitter.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/递归反转链表的一部分.md b/数据结构系列/递归反转链表的一部分.md index 89479f0..98840d0 100644 --- a/数据结构系列/递归反转链表的一部分.md +++ b/数据结构系列/递归反转链表的一部分.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/数据结构系列/队列实现栈栈实现队列.md b/数据结构系列/队列实现栈栈实现队列.md index dee3fb1..91dd273 100644 --- a/数据结构系列/队列实现栈栈实现队列.md +++ b/数据结构系列/队列实现栈栈实现队列.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/BFS框架.md b/算法思维系列/BFS框架.md index 6cd6a75..1403d74 100644 --- a/算法思维系列/BFS框架.md +++ b/算法思维系列/BFS框架.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** @@ -437,6 +437,7 @@ while (!q1.isEmpty() && !q2.isEmpty()) { | [1926. Nearest Exit from Entrance in Maze](https://leetcode.com/problems/nearest-exit-from-entrance-in-maze/?show=1) | [1926. 迷宫中离入口最近的出口](https://leetcode.cn/problems/nearest-exit-from-entrance-in-maze/?show=1) | | [286. Walls and Gates](https://leetcode.com/problems/walls-and-gates/?show=1)🔒 | [286. 墙与门](https://leetcode.cn/problems/walls-and-gates/?show=1)🔒 | | [310. Minimum Height Trees](https://leetcode.com/problems/minimum-height-trees/?show=1) | [310. 最小高度树](https://leetcode.cn/problems/minimum-height-trees/?show=1) | +| [329. Longest Increasing Path in a Matrix](https://leetcode.com/problems/longest-increasing-path-in-a-matrix/?show=1) | [329. 矩阵中的最长递增路径](https://leetcode.cn/problems/longest-increasing-path-in-a-matrix/?show=1) | | [365. Water and Jug Problem](https://leetcode.com/problems/water-and-jug-problem/?show=1) | [365. 水壶问题](https://leetcode.cn/problems/water-and-jug-problem/?show=1) | | [431. Encode N-ary Tree to Binary Tree](https://leetcode.com/problems/encode-n-ary-tree-to-binary-tree/?show=1)🔒 | [431. 将 N 叉树编码为二叉树](https://leetcode.cn/problems/encode-n-ary-tree-to-binary-tree/?show=1)🔒 | | [490. The Maze](https://leetcode.com/problems/the-maze/?show=1)🔒 | [490. 迷宫](https://leetcode.cn/problems/the-maze/?show=1)🔒 | diff --git a/算法思维系列/BFS解决滑动拼图.md b/算法思维系列/BFS解决滑动拼图.md index 0c8823d..8687fd6 100644 --- a/算法思维系列/BFS解决滑动拼图.md +++ b/算法思维系列/BFS解决滑动拼图.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/UnionFind算法详解.md b/算法思维系列/UnionFind算法详解.md index 422b4b3..db02059 100644 --- a/算法思维系列/UnionFind算法详解.md +++ b/算法思维系列/UnionFind算法详解.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/二分查找详解.md b/算法思维系列/二分查找详解.md index c6d68f4..0b24f14 100644 --- a/算法思维系列/二分查找详解.md +++ b/算法思维系列/二分查找详解.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/几个反直觉的概率问题.md b/算法思维系列/几个反直觉的概率问题.md index 4eb1d6d..6090111 100644 --- a/算法思维系列/几个反直觉的概率问题.md +++ b/算法思维系列/几个反直觉的概率问题.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/前缀和技巧.md b/算法思维系列/前缀和技巧.md index 954ae66..4b48f2a 100644 --- a/算法思维系列/前缀和技巧.md +++ b/算法思维系列/前缀和技巧.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/双指针技巧.md b/算法思维系列/双指针技巧.md index ac7dbac..67bc7ea 100644 --- a/算法思维系列/双指针技巧.md +++ b/算法思维系列/双指针技巧.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/回溯算法详解修订版.md b/算法思维系列/回溯算法详解修订版.md index 199fc58..b379f97 100644 --- a/算法思维系列/回溯算法详解修订版.md +++ b/算法思维系列/回溯算法详解修订版.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** @@ -470,6 +470,7 @@ def backtrack(...): | [77. Combinations](https://leetcode.com/problems/combinations/?show=1) | [77. 组合](https://leetcode.cn/problems/combinations/?show=1) | | [78. Subsets](https://leetcode.com/problems/subsets/?show=1) | [78. 子集](https://leetcode.cn/problems/subsets/?show=1) | | [784. Letter Case Permutation](https://leetcode.com/problems/letter-case-permutation/?show=1) | [784. 字母大小写全排列](https://leetcode.cn/problems/letter-case-permutation/?show=1) | +| [89. Gray Code](https://leetcode.com/problems/gray-code/?show=1) | [89. 格雷编码](https://leetcode.cn/problems/gray-code/?show=1) | | [93. Restore IP Addresses](https://leetcode.com/problems/restore-ip-addresses/?show=1) | [93. 复原 IP 地址](https://leetcode.cn/problems/restore-ip-addresses/?show=1) | | - | [剑指 Offer 34. 二叉树中和为某一值的路径](https://leetcode.cn/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof/?show=1) | | - | [剑指 Offer II 079. 所有子集](https://leetcode.cn/problems/TVdhkn/?show=1) | diff --git a/算法思维系列/字符串乘法.md b/算法思维系列/字符串乘法.md index 4d62e92..17ac52b 100644 --- a/算法思维系列/字符串乘法.md +++ b/算法思维系列/字符串乘法.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/学习数据结构和算法的高效方法.md b/算法思维系列/学习数据结构和算法的高效方法.md index 933f7ae..2a86e40 100644 --- a/算法思维系列/学习数据结构和算法的高效方法.md +++ b/算法思维系列/学习数据结构和算法的高效方法.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/差分技巧.md b/算法思维系列/差分技巧.md index 776f434..da4f86c 100644 --- a/算法思维系列/差分技巧.md +++ b/算法思维系列/差分技巧.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/常用的位操作.md b/算法思维系列/常用的位操作.md index 6de1985..f4aa8cc 100644 --- a/算法思维系列/常用的位操作.md +++ b/算法思维系列/常用的位操作.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/洗牌算法.md b/算法思维系列/洗牌算法.md index 8b0b619..ee13f27 100644 --- a/算法思维系列/洗牌算法.md +++ b/算法思维系列/洗牌算法.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/滑动窗口技巧进阶.md b/算法思维系列/滑动窗口技巧进阶.md index 1c65121..294ad12 100644 --- a/算法思维系列/滑动窗口技巧进阶.md +++ b/算法思维系列/滑动窗口技巧进阶.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/烧饼排序.md b/算法思维系列/烧饼排序.md index cdf7ea2..badefac 100644 --- a/算法思维系列/烧饼排序.md +++ b/算法思维系列/烧饼排序.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/花式遍历.md b/算法思维系列/花式遍历.md index c5350c3..2451f0f 100644 --- a/算法思维系列/花式遍历.md +++ b/算法思维系列/花式遍历.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/算法思维系列/集合划分.md b/算法思维系列/集合划分.md index bd75696..7f14a43 100644 --- a/算法思维系列/集合划分.md +++ b/算法思维系列/集合划分.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/LRU算法.md b/高频面试系列/LRU算法.md index 88eae50..672414a 100644 --- a/高频面试系列/LRU算法.md +++ b/高频面试系列/LRU算法.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** @@ -185,13 +185,14 @@ class DoubleList { } ``` +如果对链表的操作不熟悉,可以看前文 [手把手带你实现双链表](https://labuladong.online/algo/fname.html?fname=链表基础)。 + 到这里就能回答刚才「为什么必须要用双向链表」的问题了,因为我们需要删除操作。删除一个节点不光要得到该节点本身的指针,也需要操作其前驱节点的指针,而双向链表才能支持直接查找前驱,保证操作的时间复杂度 O(1)。 **注意我们实现的双链表 API 只能从尾部插入,也就是说靠尾部的数据是最近使用的,靠头部的数据是最久未使用的**。 有了双向链表的实现,我们只需要在 LRU 算法中把它和哈希表结合起来即可,先搭出代码框架: - ```java class LRUCache { // key -> Node(key, val) @@ -214,7 +215,6 @@ class LRUCache { 说的有点玄幻,实际上很简单,就是尽量让 LRU 的主方法 `get` 和 `put` 避免直接操作 `map` 和 `cache` 的细节。我们可以先实现下面几个函数: - ```java class LRUCache { // 为了节约篇幅,省略上文给出的代码部分... @@ -264,7 +264,6 @@ class LRUCache { 上述方法就是简单的操作封装,调用这些函数可以避免直接操作 `cache` 链表和 `map` 哈希表,下面我先来实现 LRU 算法的 `get` 方法: - ```java class LRUCache { // 为了节约篇幅,省略上文给出的代码部分... @@ -286,7 +285,6 @@ class LRUCache { 这样我们可以轻松写出 `put` 方法的代码: - ```java class LRUCache { // 为了节约篇幅,省略上文给出的代码部分... @@ -312,7 +310,6 @@ class LRUCache { 至此,你应该已经完全掌握 LRU 算法的原理和实现了,我们最后用 Java 的内置类型 `LinkedHashMap` 来实现 LRU 算法,逻辑和之前完全一致,我就不过多解释了: - ```java class LRUCache { int cap; diff --git a/高频面试系列/k个一组反转链表.md b/高频面试系列/k个一组反转链表.md index a8cb0c4..0d77a8b 100644 --- a/高频面试系列/k个一组反转链表.md +++ b/高频面试系列/k个一组反转链表.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/一行代码解决的智力题.md b/高频面试系列/一行代码解决的智力题.md index 6b61c37..17bb190 100644 --- a/高频面试系列/一行代码解决的智力题.md +++ b/高频面试系列/一行代码解决的智力题.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/二分查找判定子序列.md b/高频面试系列/二分查找判定子序列.md index 3e31b88..19b3dd7 100644 --- a/高频面试系列/二分查找判定子序列.md +++ b/高频面试系列/二分查找判定子序列.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/二分运用.md b/高频面试系列/二分运用.md index 6de8f2c..4a7aba8 100644 --- a/高频面试系列/二分运用.md +++ b/高频面试系列/二分运用.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/判断回文链表.md b/高频面试系列/判断回文链表.md index b133deb..9828699 100644 --- a/高频面试系列/判断回文链表.md +++ b/高频面试系列/判断回文链表.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/名人问题.md b/高频面试系列/名人问题.md index b1031e4..bb87da5 100644 --- a/高频面试系列/名人问题.md +++ b/高频面试系列/名人问题.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/子集排列组合.md b/高频面试系列/子集排列组合.md index 87ef506..d5f8bd0 100644 --- a/高频面试系列/子集排列组合.md +++ b/高频面试系列/子集排列组合.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/安排会议室.md b/高频面试系列/安排会议室.md index bf78402..7adf712 100644 --- a/高频面试系列/安排会议室.md +++ b/高频面试系列/安排会议室.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/岛屿题目.md b/高频面试系列/岛屿题目.md index 0797f7b..69dd7f0 100644 --- a/高频面试系列/岛屿题目.md +++ b/高频面试系列/岛屿题目.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/座位调度.md b/高频面试系列/座位调度.md index 407b956..785d244 100644 --- a/高频面试系列/座位调度.md +++ b/高频面试系列/座位调度.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/打印素数.md b/高频面试系列/打印素数.md index cab14c0..bf15a4e 100644 --- a/高频面试系列/打印素数.md +++ b/高频面试系列/打印素数.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/接雨水.md b/高频面试系列/接雨水.md index 480fc60..404078d 100644 --- a/高频面试系列/接雨水.md +++ b/高频面试系列/接雨水.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/缺失和重复的元素.md b/高频面试系列/缺失和重复的元素.md index ff7a986..278a16b 100644 --- a/高频面试系列/缺失和重复的元素.md +++ b/高频面试系列/缺失和重复的元素.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** diff --git a/高频面试系列/随机权重.md b/高频面试系列/随机权重.md index eb08a7d..efcbd4c 100644 --- a/高频面试系列/随机权重.md +++ b/高频面试系列/随机权重.md @@ -9,7 +9,7 @@ ![](https://labuladong.github.io/pictures/souyisou1.png) -**通知:算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。** +**通知:[新版网站会员](https://labuladong.online/algo/intro/site-vip/) 限时优惠;算法可视化编辑器上线,[点击体验](https://labuladong.online/algo/intro/visualize/)!另外,建议你在我的 [网站](https://labuladong.online/algo/) 学习文章,体验更好。**