mirror of
https://github.com/labuladong/fucking-algorithm.git
synced 2025-07-04 11:22:59 +08:00
update content
This commit is contained in:
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -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<string> generatePossibleNextMoves(string currentState) {
|
||||
vector<string> 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<string> generatePossibleNextMoves(string currentState) {
|
||||
vector<string> 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<string, bool> 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<string> 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<bool> used;
|
||||
|
||||
int numTilePossibilities(string s) {
|
||||
vector<char> nums(s.begin(), s.end());
|
||||
// 先排序,让相同的元素靠在一起
|
||||
sort(nums.begin(), nums.end());
|
||||
used = vector<bool>(nums.size(), false);
|
||||
backtrack(nums);
|
||||
return res - 1;
|
||||
}
|
||||
|
||||
void backtrack(vector<char>& 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
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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) |
|
||||
|
||||
</details>
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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) |
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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)🔒 |
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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) |
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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 算法中把它和哈希表结合起来即可,先搭出代码框架:
|
||||
|
||||
<!-- muliti_language -->
|
||||
```java
|
||||
class LRUCache {
|
||||
// key -> Node(key, val)
|
||||
@ -214,7 +215,6 @@ class LRUCache {
|
||||
|
||||
说的有点玄幻,实际上很简单,就是尽量让 LRU 的主方法 `get` 和 `put` 避免直接操作 `map` 和 `cache` 的细节。我们可以先实现下面几个函数:
|
||||
|
||||
<!-- muliti_language -->
|
||||
```java
|
||||
class LRUCache {
|
||||
// 为了节约篇幅,省略上文给出的代码部分...
|
||||
@ -264,7 +264,6 @@ class LRUCache {
|
||||
|
||||
上述方法就是简单的操作封装,调用这些函数可以避免直接操作 `cache` 链表和 `map` 哈希表,下面我先来实现 LRU 算法的 `get` 方法:
|
||||
|
||||
<!-- muliti_language -->
|
||||
```java
|
||||
class LRUCache {
|
||||
// 为了节约篇幅,省略上文给出的代码部分...
|
||||
@ -286,7 +285,6 @@ class LRUCache {
|
||||
|
||||
这样我们可以轻松写出 `put` 方法的代码:
|
||||
|
||||
<!-- muliti_language -->
|
||||
```java
|
||||
class LRUCache {
|
||||
// 为了节约篇幅,省略上文给出的代码部分...
|
||||
@ -312,7 +310,6 @@ class LRUCache {
|
||||
|
||||
至此,你应该已经完全掌握 LRU 算法的原理和实现了,我们最后用 Java 的内置类型 `LinkedHashMap` 来实现 LRU 算法,逻辑和之前完全一致,我就不过多解释了:
|
||||
|
||||
<!-- muliti_language -->
|
||||
```java
|
||||
class LRUCache {
|
||||
int cap;
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||

|
||||
|
||||
**通知:算法可视化编辑器上线,[点击体验](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/) 学习文章,体验更好。**
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user