diff --git a/solution/0100-0199/0167.Two Sum II - Input Array Is Sorted/README.md b/solution/0100-0199/0167.Two Sum II - Input Array Is Sorted/README.md
index c61b7107f3d89..b8aece0189f8d 100644
--- a/solution/0100-0199/0167.Two Sum II - Input Array Is Sorted/README.md
+++ b/solution/0100-0199/0167.Two Sum II - Input Array Is Sorted/README.md
@@ -15,21 +15,21 @@
你所设计的解决方案必须只使用常量级的额外空间。
-示例 1:
+示例 1:
输入:numbers = [2,7,11,15], target = 9
输出:[1,2]
解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。
-示例 2:
+示例 2:
输入:numbers = [2,3,4], target = 6
输出:[1,3]
解释:2 与 4 之和等于目标数 6 。因此 index1 = 1, index2 = 3 。返回 [1, 3] 。
-示例 3:
+示例 3:
输入:numbers = [-1,0], target = -1
diff --git a/solution/0100-0199/0195.Tenth Line/README_EN.md b/solution/0100-0199/0195.Tenth Line/README_EN.md
index 67c2637df5b2f..f8e0d5ad36d86 100644
--- a/solution/0100-0199/0195.Tenth Line/README_EN.md
+++ b/solution/0100-0199/0195.Tenth Line/README_EN.md
@@ -11,26 +11,41 @@
Assume that file.txt
has the following content:
+
Line 1
+
Line 2
+
Line 3
+
Line 4
+
Line 5
+
Line 6
+
Line 7
+
Line 8
+
Line 9
+
Line 10
+
Your script should output the tenth line, which is:
+
Line 10
+
Note:
+
1. If the file contains less than 10 lines, what should you output?
+
2. There's at least three different solutions. Try to explore all possibilities.
## Solutions
diff --git a/solution/0200-0299/0255.Verify Preorder Sequence in Binary Search Tree/README.md b/solution/0200-0299/0255.Verify Preorder Sequence in Binary Search Tree/README.md
index 31fa53370a286..574f40d424b6b 100644
--- a/solution/0200-0299/0255.Verify Preorder Sequence in Binary Search Tree/README.md
+++ b/solution/0200-0299/0255.Verify Preorder Sequence in Binary Search Tree/README.md
@@ -1,4 +1,4 @@
-# [255. 验证前序遍历序列二叉搜索树](https://leetcode.cn/problems/verify-preorder-sequence-in-binary-search-tree)
+# [255. 验证二叉搜索树的前序遍历序列](https://leetcode.cn/problems/verify-preorder-sequence-in-binary-search-tree)
[English Version](/solution/0200-0299/0255.Verify%20Preorder%20Sequence%20in%20Binary%20Search%20Tree/README_EN.md)
diff --git a/solution/0200-0299/0266.Palindrome Permutation/README.md b/solution/0200-0299/0266.Palindrome Permutation/README.md
index a4be9414ffc0e..2cd1047e8c82b 100644
--- a/solution/0200-0299/0266.Palindrome Permutation/README.md
+++ b/solution/0200-0299/0266.Palindrome Permutation/README.md
@@ -6,22 +6,39 @@
-给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串。
+给你一个字符串 s
,如果该字符串的某个排列是 回文 ,则返回 true
;否则,返回 false
。
-示例 1:
+
-输入: "code"
-输出: false
+示例 1:
-示例 2:
+
+输入:s = "code"
+输出:false
+
-输入: "aab"
-输出: true
+示例 2:
-示例 3:
+
+输入:s = "aab"
+输出:true
+
-输入: "carerac"
-输出: true
+示例 3:
+
+
+输入:s = "carerac"
+输出:true
+
+
+
+
+提示:
+
+
+ 1 <= s.length <= 5000
+ s
仅由小写英文字母组成
+
## 解法
diff --git a/solution/0200-0299/0297.Serialize and Deserialize Binary Tree/README.md b/solution/0200-0299/0297.Serialize and Deserialize Binary Tree/README.md
index bb24d7cc21854..1d7c6e6edff8a 100644
--- a/solution/0200-0299/0297.Serialize and Deserialize Binary Tree/README.md
+++ b/solution/0200-0299/0297.Serialize and Deserialize Binary Tree/README.md
@@ -10,9 +10,9 @@
请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。
-提示: 输入输出格式与 LeetCode 目前使用的方式一致,详情请参阅 LeetCode 序列化二叉树的格式。你并非必须采取这种方式,你也可以采用其他的方法解决这个问题。
+提示: 输入输出格式与 LeetCode 目前使用的方式一致,详情请参阅 LeetCode 序列化二叉树的格式。你并非必须采取这种方式,你也可以采用其他的方法解决这个问题。
-
+
示例 1:
@@ -42,13 +42,13 @@
输出:[1,2]
-
+
提示:
- 树中结点数在范围
[0, 104]
内
- -1000 <= Node.val <= 1000
+ -1000 <= Node.val <= 1000
## 解法
diff --git a/solution/0300-0399/0339.Nested List Weight Sum/README.md b/solution/0300-0399/0339.Nested List Weight Sum/README.md
index 6416d947d0c0d..890f0c3933e56 100644
--- a/solution/0300-0399/0339.Nested List Weight Sum/README.md
+++ b/solution/0300-0399/0339.Nested List Weight Sum/README.md
@@ -1,4 +1,4 @@
-# [339. 嵌套列表权重和](https://leetcode.cn/problems/nested-list-weight-sum)
+# [339. 嵌套列表加权和](https://leetcode.cn/problems/nested-list-weight-sum)
[English Version](/solution/0300-0399/0339.Nested%20List%20Weight%20Sum/README_EN.md)
diff --git a/solution/0300-0399/0364.Nested List Weight Sum II/README.md b/solution/0300-0399/0364.Nested List Weight Sum II/README.md
index 446b65f968359..d8254cd44f570 100644
--- a/solution/0300-0399/0364.Nested List Weight Sum II/README.md
+++ b/solution/0300-0399/0364.Nested List Weight Sum II/README.md
@@ -1,4 +1,4 @@
-# [364. 加权嵌套序列和 II](https://leetcode.cn/problems/nested-list-weight-sum-ii)
+# [364. 嵌套列表加权和 II](https://leetcode.cn/problems/nested-list-weight-sum-ii)
[English Version](/solution/0300-0399/0364.Nested%20List%20Weight%20Sum%20II/README_EN.md)
diff --git a/solution/0300-0399/0373.Find K Pairs with Smallest Sums/README.md b/solution/0300-0399/0373.Find K Pairs with Smallest Sums/README.md
index 98334b98008cc..47eb14f333a29 100644
--- a/solution/0300-0399/0373.Find K Pairs with Smallest Sums/README.md
+++ b/solution/0300-0399/0373.Find K Pairs with Smallest Sums/README.md
@@ -47,8 +47,9 @@
1 <= nums1.length, nums2.length <= 105
-109 <= nums1[i], nums2[i] <= 109
- nums1
和 nums2
均为升序排列
- 1 <= k <= 104
+ nums1
和 nums2
均为 升序排列
+ 1 <= k <= 104
+ k <= nums1.length * nums2.length
## 解法
diff --git a/solution/0400-0499/0491.Non-decreasing Subsequences/README.md b/solution/0400-0499/0491.Non-decreasing Subsequences/README.md
index c41682165bd1b..b339eaeac2122 100644
--- a/solution/0400-0499/0491.Non-decreasing Subsequences/README.md
+++ b/solution/0400-0499/0491.Non-decreasing Subsequences/README.md
@@ -1,4 +1,4 @@
-# [491. 递增子序列](https://leetcode.cn/problems/non-decreasing-subsequences)
+# [491. 非递减子序列](https://leetcode.cn/problems/non-decreasing-subsequences)
[English Version](/solution/0400-0499/0491.Non-decreasing%20Subsequences/README_EN.md)
diff --git a/solution/0500-0599/0573.Squirrel Simulation/README.md b/solution/0500-0599/0573.Squirrel Simulation/README.md
index 44c194cbcee8e..59eebfb752179 100644
--- a/solution/0500-0599/0573.Squirrel Simulation/README.md
+++ b/solution/0500-0599/0573.Squirrel Simulation/README.md
@@ -6,30 +6,50 @@
-现在有一棵树,一只松鼠和一些坚果。位置由二维网格的单元格表示。你的目标是找到松鼠收集所有坚果的最小路程,且坚果是一颗接一颗地被放在树下。松鼠一次最多只能携带一颗坚果,松鼠可以向上,向下,向左和向右四个方向移动到相邻的单元格。移动次数表示路程。
-
-输入 1:
-
-输入:
-高度 : 5
-宽度 : 7
-树的位置 : [2,2]
-松鼠 : [4,4]
-坚果 : [[3,0], [2,5]]
-输出: 12
-解释:
-
+给你两个整数 height
和 width
,代表一个大小为 height x width
的花园。你还得到了以下信息:
+
+
+ - 一个数组
tree
,其中 tree = [treer, treec]
是花园中树的位置,
+ - 一个数组
squirrel
,其中 squirrel = [squirrelr, squirrelc]
是花园中松鼠的位置,
+ - 一个数组
nuts
,其中 nuts[i] = [nutir, nutic]
是花园中第 ith
个坚果的位置。
+
+
+松鼠一次最多只能携带一个坚果,并且能够向上、下、左、右四个方向移动到相邻的单元格。
+
+返回松鼠收集所有坚果并逐一放在树下的 最小距离 。
+
+距离 是指移动的次数。
+
+
+
+示例 1:
+
+
+输入:height = 5, width = 7, tree = [2,2], squirrel = [4,4], nuts = [[3,0], [2,5]]
+输出:12
+解释:为实现最小的距离,松鼠应该先摘 [2, 5] 位置的坚果。
+
+
+示例 2:
+
+
+输入:height = 1, width = 3, tree = [0,1], squirrel = [0,0], nuts = [[0,2]]
+输出:3
-注意:
+
+
+提示:
-
- - 所有给定的位置不会重叠。
- - 松鼠一次最多只能携带一颗坚果。
- - 给定的坚果位置没有顺序。
- - 高度和宽度是正整数。 3 <= 高度 * 宽度 <= 10,000。
- - 给定的网格至少包含一颗坚果,唯一的一棵树和一只松鼠。
-
+
+ 1 <= height, width <= 100
+ tree.length == 2
+ squirrel.length == 2
+ 1 <= nuts.length <= 5000
+ nuts[i].length == 2
+ 0 <= treer, squirrelr, nutir <= height
+ 0 <= treec, squirrelc, nutic <= width
+
## 解法
diff --git a/solution/0500-0599/0573.Squirrel Simulation/images/squirrel_simulation.png b/solution/0500-0599/0573.Squirrel Simulation/images/squirrel_simulation.png
deleted file mode 100644
index efad1490e7553..0000000000000
Binary files a/solution/0500-0599/0573.Squirrel Simulation/images/squirrel_simulation.png and /dev/null differ
diff --git a/solution/0600-0699/0616.Add Bold Tag in String/README.md b/solution/0600-0699/0616.Add Bold Tag in String/README.md
index bae0776facdf7..2255c677ab0f3 100644
--- a/solution/0600-0699/0616.Add Bold Tag in String/README.md
+++ b/solution/0600-0699/0616.Add Bold Tag in String/README.md
@@ -31,8 +31,8 @@
示例 2:
-输入:s = "aaabbcc", words = ["aaa","aab","bc"]
-输出:"<b>aaabbc</b>c"
+输入:s = "aaabbb", words = ["aa","b"]
+输出:"<b>aaabbb</b>"
解释:
"aa"作为子字符串出现了两次: "aaabbb" 和 "aaabbb"。
"b"作为子字符串出现了三次: "aaabbb"、"aaabbb" 和 "aaabbb"。
diff --git a/solution/0600-0699/0650.2 Keys Keyboard/README.md b/solution/0600-0699/0650.2 Keys Keyboard/README.md
index 8a14cc8d1e92b..5e2b256f53e46 100644
--- a/solution/0600-0699/0650.2 Keys Keyboard/README.md
+++ b/solution/0600-0699/0650.2 Keys Keyboard/README.md
@@ -1,4 +1,4 @@
-# [650. 只有两个键的键盘](https://leetcode.cn/problems/2-keys-keyboard)
+# [650. 两个键的键盘](https://leetcode.cn/problems/2-keys-keyboard)
[English Version](/solution/0600-0699/0650.2%20Keys%20Keyboard/README_EN.md)
diff --git a/solution/0600-0699/0651.4 Keys Keyboard/README.md b/solution/0600-0699/0651.4 Keys Keyboard/README.md
index d7c06594101b1..58e4994dad05f 100644
--- a/solution/0600-0699/0651.4 Keys Keyboard/README.md
+++ b/solution/0600-0699/0651.4 Keys Keyboard/README.md
@@ -1,4 +1,4 @@
-# [651. 4 键键盘](https://leetcode.cn/problems/4-keys-keyboard)
+# [651. 四个键的键盘](https://leetcode.cn/problems/4-keys-keyboard)
[English Version](/solution/0600-0699/0651.4%20Keys%20Keyboard/README_EN.md)
diff --git a/solution/0800-0899/0819.Most Common Word/README.md b/solution/0800-0899/0819.Most Common Word/README.md
index 2b69ee38258f3..07e8be75b9bc0 100644
--- a/solution/0800-0899/0819.Most Common Word/README.md
+++ b/solution/0800-0899/0819.Most Common Word/README.md
@@ -6,25 +6,30 @@
-给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。
+给你一个字符串 paragraph
和一个表示禁用词的字符串数组 banned
,返回出现频率最高的非禁用词。题目数据 保证 至少存在一个非禁用词,且答案 唯一 。
-题目保证至少有一个词不在禁用列表中,而且答案唯一。
-
-禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。
+paragraph
中的单词 不区分大小写 ,答案应以 小写 形式返回。
-示例:
-
-输入:
-paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."
-banned = ["hit"]
-输出: "ball"
-解释:
-"hit" 出现了3次,但它是一个禁用的单词。
-"ball" 出现了2次 (同时没有其他单词出现2次),所以它是段落里出现次数最多的,且不在禁用列表中的单词。
-注意,所有这些单词在段落里不区分大小写,标点符号需要忽略(即使是紧挨着单词也忽略, 比如 "ball,"),
-"hit"不是最终的答案,虽然它出现次数更多,但它在禁用单词列表中。
+示例 1:
+
+
+输入:paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", banned = ["hit"]
+输出:"ball"
+解释:
+"hit" 出现了 3 次,但它是禁用词。
+"ball" 出现了两次(没有其他单词出现这么多次),因此它是段落中出现频率最高的非禁用词。
+请注意,段落中的单词不区分大小写,
+标点符号会被忽略(即使它们紧挨着单词,如 "ball,"),
+并且尽管 "hit" 出现的次数更多,但它不能作为答案,因为它是禁用词。
+
+
+示例 2:
+
+
+输入:paragraph = "a.", banned = []
+输出:"a"
@@ -32,13 +37,11 @@ banned = ["hit"]
提示:
- 1 <= 段落长度 <= 1000
- 0 <= 禁用单词个数 <= 100
- 1 <= 禁用单词长度 <= 10
- - 答案是唯一的, 且都是小写字母 (即使在
paragraph
里是大写的,即使是一些特定的名词,答案都是小写的。)
- paragraph
只包含字母、空格和下列标点符号!?',;.
- - 不存在没有连字符或者带有连字符的单词。
- - 单词里只包含字母,不会出现省略号或者其他标点符号。
+ 1 <= paragraph.length <= 1000
+ paragraph
由英文字母、空格 ' '
、和以下符号组成:"!?',;."
+ 0 <= banned.length <= 100
+ 1 <= banned[i].length <= 10
+ banned[i]
仅由小写英文字母组成
## 解法
diff --git a/solution/0800-0899/0864.Shortest Path to Get All Keys/README.md b/solution/0800-0899/0864.Shortest Path to Get All Keys/README.md
index f171ed61405ee..347c8b244c67a 100644
--- a/solution/0800-0899/0864.Shortest Path to Get All Keys/README.md
+++ b/solution/0800-0899/0864.Shortest Path to Get All Keys/README.md
@@ -29,7 +29,7 @@

-输入:grid = ["@.a.#","###.#","b.A.B"]
+输入:grid = ["@.a..","###.#","b.A.B"]
输出:8
解释:目标是获得所有钥匙,而不是打开所有锁。
diff --git a/solution/0900-0999/0930.Binary Subarrays With Sum/README_EN.md b/solution/0900-0999/0930.Binary Subarrays With Sum/README_EN.md
index 96b012c6a9dad..dfc9157dd9bb6 100644
--- a/solution/0900-0999/0930.Binary Subarrays With Sum/README_EN.md
+++ b/solution/0900-0999/0930.Binary Subarrays With Sum/README_EN.md
@@ -9,32 +9,45 @@
A subarray is a contiguous part of the array.
+
Example 1:
+
Input: nums = [1,0,1,0,1], goal = 2
+
Output: 4
+
Explanation: The 4 subarrays are bolded and underlined below:
+
[1,0,1,0,1]
+
[1,0,1,0,1]
+
[1,0,1,0,1]
+
[1,0,1,0,1]
+
Example 2:
+
Input: nums = [0,0,0,0,0], goal = 0
+
Output: 15
+
+
Constraints:
- 1 <= nums.length <= 3 * 104
- nums[i]
is either 0
or 1
.
- 0 <= goal <= nums.length
+ 1 <= nums.length <= 3 * 104
+ nums[i]
is either 0
or 1
.
+ 0 <= goal <= nums.length
## Solutions
diff --git a/solution/1100-1199/1108.Defanging an IP Address/README_EN.md b/solution/1100-1199/1108.Defanging an IP Address/README_EN.md
index e52608592d259..49151237d4df0 100644
--- a/solution/1100-1199/1108.Defanging an IP Address/README_EN.md
+++ b/solution/1100-1199/1108.Defanging an IP Address/README_EN.md
@@ -9,18 +9,27 @@
A defanged IP address replaces every period "."
with "[.]"
.
+
Example 1:
+
Input: address = "1.1.1.1"
+
Output: "1[.]1[.]1[.]1"
+
Example 2:
+
Input: address = "255.100.50.0"
+
Output: "255[.]100[.]50[.]0"
+
+
+
Constraints:
- - The given
address
is a valid IPv4 address.
+ - The given
address
is a valid IPv4 address.
## Solutions
diff --git a/solution/2300-2399/2330.Valid Palindrome IV/README.md b/solution/2300-2399/2330.Valid Palindrome IV/README.md
index de80fee4bbf06..d192bcdf4feff 100644
--- a/solution/2300-2399/2330.Valid Palindrome IV/README.md
+++ b/solution/2300-2399/2330.Valid Palindrome IV/README.md
@@ -1,4 +1,4 @@
-# [2330. 有效的回文 IV](https://leetcode.cn/problems/valid-palindrome-iv)
+# [2330. 验证回文串 IV](https://leetcode.cn/problems/valid-palindrome-iv)
[English Version](/solution/2300-2399/2330.Valid%20Palindrome%20IV/README_EN.md)
diff --git a/solution/2400-2499/2429.Minimize XOR/README.md b/solution/2400-2499/2429.Minimize XOR/README.md
index 82ae4f5ee0a45..71944535d49a6 100644
--- a/solution/2400-2499/2429.Minimize XOR/README.md
+++ b/solution/2400-2499/2429.Minimize XOR/README.md
@@ -1,4 +1,4 @@
-# [2429. 最小 XOR](https://leetcode.cn/problems/minimize-xor)
+# [2429. 最小异或](https://leetcode.cn/problems/minimize-xor)
[English Version](/solution/2400-2499/2429.Minimize%20XOR/README_EN.md)
@@ -6,7 +6,7 @@
-给你两个正整数 num1
和 num2
,找出满足下述条件的整数 x
:
+给你两个正整数 num1
和 num2
,找出满足下述条件的正整数 x
:
x
的置位数和 num2
相同,且
@@ -23,7 +23,8 @@
示例 1:
-
输入:num1 = 3, num2 = 5
+
+输入:num1 = 3, num2 = 5
输出:3
解释:
num1 和 num2 的二进制表示分别是 0011 和 0101 。
@@ -32,7 +33,8 @@ num1 和 num2 的二进制表示分别是 0011 和 0101 。
示例 2:
-输入:num1 = 1, num2 = 12
+
+输入:num1 = 1, num2 = 12
输出:3
解释:
num1 和 num2 的二进制表示分别是 0001 和 1100 。
diff --git a/solution/2500-2599/2523.Closest Prime Numbers in Range/README.md b/solution/2500-2599/2523.Closest Prime Numbers in Range/README.md
index 204cb253e9588..5988dbcc9863d 100644
--- a/solution/2500-2599/2523.Closest Prime Numbers in Range/README.md
+++ b/solution/2500-2599/2523.Closest Prime Numbers in Range/README.md
@@ -16,7 +16,7 @@
请你返回正整数数组 ans = [nums1, nums2]
。如果有多个整数对满足上述条件,请你返回 nums1
最小的质数对。如果不存在符合题意的质数对,请你返回 [-1, -1]
。
-如果一个整数大于 1
,且只能被 1
和它自己整除,那么它是一个质数。
+如果一个整数大于 1
,且只能被 1
和它自己整除,那么它是一个 质数。
diff --git a/solution/2500-2599/2523.Closest Prime Numbers in Range/README_EN.md b/solution/2500-2599/2523.Closest Prime Numbers in Range/README_EN.md
index adace92138e6f..05ca6218bce26 100644
--- a/solution/2500-2599/2523.Closest Prime Numbers in Range/README_EN.md
+++ b/solution/2500-2599/2523.Closest Prime Numbers in Range/README_EN.md
@@ -7,12 +7,12 @@
Given two positive integers left
and right
, find the two integers num1
and num2
such that:
- left <= nums1 < nums2 <= right
.
- nums1
and nums2
are both prime numbers.
- nums2 - nums1
is the minimum amongst all other pairs satisfying the above conditions.
+ left <= num1 < num2 <= right
.
+ num1
and num2
are both prime numbers.
+ num2 - num1
is the minimum amongst all other pairs satisfying the above conditions.
-Return the positive integer array ans = [nums1, nums2]
. If there are multiple pairs satisfying these conditions, return the one with the minimum nums1
value or [-1, -1]
if such numbers do not exist.
+Return the positive integer array ans = [num1, num2]
. If there are multiple pairs satisfying these conditions, return the one with the minimum num1
value or [-1, -1]
if such numbers do not exist.
A number greater than 1
is called prime if it is only divisible by 1
and itself.
diff --git a/solution/2500-2599/2527.Find Xor-Beauty of Array/README.md b/solution/2500-2599/2527.Find Xor-Beauty of Array/README.md
index 7db0d75f7a956..6481c2dc75d08 100644
--- a/solution/2500-2599/2527.Find Xor-Beauty of Array/README.md
+++ b/solution/2500-2599/2527.Find Xor-Beauty of Array/README.md
@@ -1,4 +1,4 @@
-# [2527. 查询数组 Xor 美丽值](https://leetcode.cn/problems/find-xor-beauty-of-array)
+# [2527. 查询数组异或美丽值](https://leetcode.cn/problems/find-xor-beauty-of-array)
[English Version](/solution/2500-2599/2527.Find%20Xor-Beauty%20of%20Array/README_EN.md)
@@ -10,9 +10,9 @@
三个下标 i
,j
和 k
的 有效值 定义为 ((nums[i] | nums[j]) & nums[k])
。
-一个数组的 xor 美丽值 是数组中所有满足 0 <= i, j, k < n
的三元组 (i, j, k)
的 有效值 的异或结果。
+一个数组的 异或美丽值 是数组中所有满足 0 <= i, j, k < n
的三元组 (i, j, k)
的 有效值 的异或结果。
-请你返回 nums
的 xor 美丽值。
+请你返回 nums
的异或美丽值。
注意:
@@ -38,14 +38,14 @@
- (1,0,1) 有效值为 ((4 | 1) & 4) = 4
- (1,1,0) 有效值为 ((4 | 4) & 1) = 0
- (1,1,1) 有效值为 ((4 | 4) & 4) = 4
-数组的 xor 美丽值为所有有效值的按位异或 1 ^ 0 ^ 1 ^ 4 ^ 1 ^ 4 ^ 0 ^ 4 = 5 。
+数组的异或美丽值为所有有效值的按位异或 1 ^ 0 ^ 1 ^ 4 ^ 1 ^ 4 ^ 0 ^ 4 = 5 。
示例 2:
输入:nums = [15,45,20,2,34,35,5,44,32,30]
输出:34
-解释:数组的 xor 美丽值为 34 。
+解释:数组的异或美丽值为 34 。
diff --git a/solution/2500-2599/2531.Make Number of Distinct Characters Equal/README.md b/solution/2500-2599/2531.Make Number of Distinct Characters Equal/README.md
index 68f54d43ae470..26102995a9cb9 100644
--- a/solution/2500-2599/2531.Make Number of Distinct Characters Equal/README.md
+++ b/solution/2500-2599/2531.Make Number of Distinct Characters Equal/README.md
@@ -1,4 +1,4 @@
-# [2531. 使字符串总不同字符的数目相等](https://leetcode.cn/problems/make-number-of-distinct-characters-equal)
+# [2531. 使字符串中不同字符的数目相等](https://leetcode.cn/problems/make-number-of-distinct-characters-equal)
[English Version](/solution/2500-2599/2531.Make%20Number%20of%20Distinct%20Characters%20Equal/README_EN.md)
diff --git a/solution/2500-2599/2533.Number of Good Binary Strings/README.md b/solution/2500-2599/2533.Number of Good Binary Strings/README.md
index ddfb225148699..a4ad99276793e 100644
--- a/solution/2500-2599/2533.Number of Good Binary Strings/README.md
+++ b/solution/2500-2599/2533.Number of Good Binary Strings/README.md
@@ -24,7 +24,7 @@
-请返回好二进制字符串的个数。答案可能很大,请返回对 109 + 7
取余后的结果。
+请返回 好 二进制字符串的个数。答案可能很大,请返回对 109 + 7
取余 后的结果。
注意:0
可以被认为是所有数字的倍数。
diff --git a/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README_EN.md b/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README_EN.md
index 1af5c408fb5e9..7f78038ba0097 100644
--- a/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README_EN.md
+++ b/solution/2500-2599/2566.Maximum Difference by Remapping a Digit/README_EN.md
@@ -4,18 +4,17 @@
## Description
-You are given an integer num
. You know that Danny Mittal will sneakily remap one of the 10
possible digits (0
to 9
) to another digit.
+You are given an integer num
. You know that Bob will sneakily remap one of the 10
possible digits (0
to 9
) to another digit.
-Return the difference between the maximum and minimum values Danny can make by remapping exactly one digit in num
.
+Return the difference between the maximum and minimum values Bob can make by remapping exactly one digit in num
.
Notes:
- - When Danny remaps a digit d1 to another digit d2, Danny replaces all occurrences of
d1
in num
with d2
.
- - Danny can remap a digit to itself, in which case
num
does not change.
- - Danny can remap different digits for obtaining minimum and maximum values respectively.
+ - When Bob remaps a digit d1 to another digit d2, Bob replaces all occurrences of
d1
in num
with d2
.
+ - Bob can remap a digit to itself, in which case
num
does not change.
+ - Bob can remap different digits for obtaining minimum and maximum values respectively.
- The resulting number after remapping can contain leading zeroes.
- - We mentioned "Danny Mittal" to congratulate him on being in the top 10 in Weekly Contest 326.
@@ -25,8 +24,8 @@
Input: num = 11891
Output: 99009
Explanation:
-To achieve the maximum value, Danny can remap the digit 1 to the digit 9 to yield 99899.
-To achieve the minimum value, Danny can remap the digit 1 to the digit 0, yielding 890.
+To achieve the maximum value, Bob can remap the digit 1 to the digit 9 to yield 99899.
+To achieve the minimum value, Bob can remap the digit 1 to the digit 0, yielding 890.
The difference between these two numbers is 99009.
diff --git a/solution/2600-2699/2626.Array Reduce Transformation/README.md b/solution/2600-2699/2626.Array Reduce Transformation/README.md
index 1bc4186f8fa1a..dc76479562162 100644
--- a/solution/2600-2699/2626.Array Reduce Transformation/README.md
+++ b/solution/2600-2699/2626.Array Reduce Transformation/README.md
@@ -6,11 +6,11 @@
-请你编写一个函数,它的参数为一个整数数组 nums
、一个计算函数 fn
和初始值init
。返回一个数组 归约后 的值。
+给定一个整数数组 nums
、一个 reducer 函数 fn
和一个初始值 init
,返回通过依次对数组的每个元素执行 fn
函数得到的最终结果。
-你可以定义一个数组 归约后 的值,然后应用以下操作: val = fn(init, nums[0])
, val = fn(val, nums[1])
, val = fn(val, nums[2])
,...
直到数组中的每个元素都被处理完毕。返回 val
的最终值。
+通过以下操作实现这个结果:val = fn(init, nums[0]),val = fn(val, nums[1]),val = fn(val, nums[2]),...
直到处理数组中的每个元素。然后返回 val
的最终值。
-如果数组的长度为 0,它应该返回 init
的值。
+如果数组的长度为 0,则函数应返回 init
。
请你在不使用内置数组方法的 Array.reduce
前提下解决这个问题。
diff --git a/solution/2600-2699/2626.Array Reduce Transformation/README_EN.md b/solution/2600-2699/2626.Array Reduce Transformation/README_EN.md
index ad4c13d1b888a..77935e60d2006 100644
--- a/solution/2600-2699/2626.Array Reduce Transformation/README_EN.md
+++ b/solution/2600-2699/2626.Array Reduce Transformation/README_EN.md
@@ -4,11 +4,11 @@
## Description
-Given an integer array nums
, a reducer function fn
, and an initial value init
, return a reduced array.
+Given an integer array nums
, a reducer function fn
, and an initial value init
, return the final result obtained by executing the fn
function on each element of the array, sequentially, passing in the return value from the calculation on the preceding element.
-A reduced array is created by applying the following operation: val = fn(init, nums[0])
, val = fn(val, nums[1])
, val = fn(val, nums[2])
, ...
until every element in the array has been processed. The final value of val
is returned.
+This result is achieved through the following operations: val = fn(init, nums[0]), val = fn(val, nums[1]), val = fn(val, nums[2]), ...
until every element in the array has been processed. The ultimate value of val
is then returned.
-If the length of the array is 0, it should return init
.
+If the length of the array is 0, the function should return init
.
Please solve it without using the built-in Array.reduce
method.
@@ -40,10 +40,10 @@ init = 100
Output: 130
Explanation:
initially, the value is init=100.
-(100) + nums[0]^2 = 101
-(101) + nums[1]^2 = 105
-(105) + nums[2]^2 = 114
-(114) + nums[3]^2 = 130
+(100) + nums[0] * nums[0] = 101
+(101) + nums[1] * nums[1] = 105
+(105) + nums[2] * nums[2] = 114
+(114) + nums[3] * nums[3] = 130
The final answer is 130.
diff --git a/solution/2700-2799/2700.Differences Between Two Objects/README.md b/solution/2700-2799/2700.Differences Between Two Objects/README.md
index 56d77df13ca04..40b925442834f 100644
--- a/solution/2700-2799/2700.Differences Between Two Objects/README.md
+++ b/solution/2700-2799/2700.Differences Between Two Objects/README.md
@@ -8,7 +8,9 @@
请你编写一个函数,它接收两个深度嵌套的对象或数组 obj1
和 obj2
,并返回一个新对象表示它们之间差异。
-该函数应该比较这两个对象的属性,并识别任何变化。返回的对象应仅包含从 obj1
到 obj2
的值不同的键。对于每个变化的键,值应表示为一个数组 [obj1 value, obj2 value]
。不存在于一个对象中但存在于另一个对象中的键不应包含在返回的对象中。在比较两个数组时,数组的索引被视为它们的键。最终结果应是一个深度嵌套的对象,其中每个叶子的值都是一个差异数组。
+该函数应该比较这两个对象的属性,并识别任何变化。返回的对象应仅包含从 obj1
到 obj2
的值不同的键。
+
+对于每个变化的键,值应表示为一个数组 [obj1 value, obj2 value]
。不存在于一个对象中但存在于另一个对象中的键不应包含在返回的对象中。在比较两个数组时,数组的索引被视为它们的键。最终结果应是一个深度嵌套的对象,其中每个叶子的值都是一个差异数组。
你可以假设这两个对象都是 JSON.parse
的输出结果。
diff --git a/solution/2700-2799/2715.Timeout Cancellation/README.md b/solution/2700-2799/2715.Timeout Cancellation/README.md
index 963be0b2d3f1d..a97e6eb2dcfd8 100644
--- a/solution/2700-2799/2715.Timeout Cancellation/README.md
+++ b/solution/2700-2799/2715.Timeout Cancellation/README.md
@@ -6,43 +6,56 @@
-现给定一个函数 fn
,一个参数数组 args
和一个以毫秒为单位的超时时间 t
,返回一个取消函数 cancelFn
。
+给定一个函数 fn
,一个参数数组 args
和一个以毫秒为单位的超时时间 t
,返回一个取消函数 cancelFn
。
-在经过 t
毫秒的延迟后,应该调用 fn
函数,并将 args
作为参数传递。除非 在 t
毫秒的延迟过程中,在 cancelT
毫秒时调用了 cancelFn
。并且在这种情况下,fn
函数不应该被调用。
+在 cancelTimeMs
的延迟后,返回的取消函数 cancelFn
将被调用。
+
+
+setTimeout(cancelFn, cancelTimeMs)
+
+
+最初,函数 fn
的执行应该延迟 t
毫秒。
+
+如果在 t
毫秒的延迟之前调用了函数 cancelFn
,它应该取消 fn
的延迟执行。否则,如果在指定的延迟 t
内没有调用 cancelFn
,则应执行 fn
,并使用提供的 args
作为参数。
+
+
示例 1:
-输入:fn = (x) => x * 5, args = [2], t = 20, cancelT = 50
+输入:fn = (x) => x * 5, args = [2], t = 20
输出:[{"time": 20, "returned": 10}]
解释:
-const cancel = cancellable((x) => x * 5, [2], 20); // fn(2) 在 t=20ms 时被调用
-setTimeout(cancel, 50);
+const cancelTimeMs = 50;
+const cancelFn = cancellable((x) => x * 5, [2], 20);
+setTimeout(cancelFn, cancelTimeMs);
-取消操作被安排在延迟了 cancelT(50毫秒)后进行,这发生在 fn(2) 在20毫秒时执行之后。
+取消操作被安排在延迟了 cancelTimeMs(50毫秒)后进行,这发生在 fn(2) 在20毫秒时执行之后。
示例 2:
-输入:fn = (x) => x**2, args = [2], t = 100, cancelT = 50
+输入:fn = (x) => x**2, args = [2], t = 100
输出:[]
解释:
-const cancel = cancellable((x) => x**2, [2], 100); // fn(2) 没被调用
-setTimeout(cancel, 50);
+const cancelTimeMs = 50;
+const cancelFn = cancellable((x) => x**2, [2], 100);
+setTimeout(cancelFn, cancelTimeMs);
-取消操作被安排在延迟了 cancelT(50毫秒)后进行,这发生在 fn(2) 在100毫秒时执行之前,导致 fn(2) 从未被调用。
+取消操作被安排在延迟了 cancelTimeMs(50毫秒)后进行,这发生在 fn(2) 在100毫秒时执行之前,导致 fn(2) 从未被调用。
示例 3:
-输入:fn = (x1, x2) => x1 * x2, args = [2,4], t = 30, cancelTime = 100
+输入:fn = (x1, x2) => x1 * x2, args = [2,4], t = 30
输出:[{"time": 30, "returned": 8}]
解释:
-const cancel = cancellable((x1, x2) => x1 * x2, [2,4], 30); // fn(2,4) 在 t=30ms 时被调用
-setTimeout(cancel, 100);
+const cancelTimeMs = 100;
+const cancelFn = cancellable((x1, x2) => x1 * x2, [2,4], 30);
+setTimeout(cancelFn, cancelTimeMs);
-取消操作被安排在延迟了 cancelT(100毫秒)后进行,这发生在 fn(2,4) 在30毫秒时执行之后。
+取消操作被安排在延迟了 cancelTimeMs(100毫秒)后进行,这发生在 fn(2,4) 在30毫秒时执行之后。
@@ -54,7 +67,7 @@ setTimeout(cancel, 100);
args
是一个有效的 JSON 数组
1 <= args.length <= 10
20 <= t <= 1000
- 10 <= cancelT <= 1000
+ 10 <= cancelTimeMs <= 1000
## 解法
diff --git a/solution/2700-2799/2724.Sort By/README.md b/solution/2700-2799/2724.Sort By/README.md
index 07e88e3afa981..487d83b877877 100644
--- a/solution/2700-2799/2724.Sort By/README.md
+++ b/solution/2700-2799/2724.Sort By/README.md
@@ -41,8 +41,8 @@
提示:
- arr 是一个有效的 JSON 数组
- fn 是一个函数,返回一个数字
+ arr
是一个有效的 JSON 数组
+ fn
是一个函数,返回一个数字
1 <= arr.length <= 5 * 105
diff --git a/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/README.md b/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/README.md
index d9b19b0cc3617..016c9f77a0d29 100644
--- a/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/README.md
+++ b/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/README.md
@@ -154,6 +154,62 @@ func smallestString(s string) string {
}
```
+### **Rust**
+
+```rust
+impl Solution {
+ pub fn smallest_string(s: String) -> String {
+ let mut cs: Vec = s.chars().collect();
+ let n = cs.len();
+ let mut i = 0;
+
+ while i < n && cs[i] == 'a' {
+ i += 1;
+ }
+
+ if i == n {
+ cs[n - 1] = 'z';
+ return cs.into_iter().collect();
+ }
+
+ let mut j = i;
+ while j < n && cs[j] != 'a' {
+ cs[j] = ((cs[j] as u8) - 1) as char;
+ j += 1;
+ }
+
+ cs.into_iter().collect()
+ }
+}
+```
+
+### **TypeScript**
+
+```ts
+function smallestString(s: string): string {
+ const cs: string[] = s.split('');
+ const n: number = cs.length;
+ let i: number = 0;
+ while (i < n && cs[i] === 'a') {
+ i++;
+ }
+
+ if (i === n) {
+ cs[n - 1] = 'z';
+ return cs.join('');
+ }
+
+ let j: number = i;
+ while (j < n && cs[j] !== 'a') {
+ const c: number = cs[j].charCodeAt(0);
+ cs[j] = String.fromCharCode(c - 1);
+ j++;
+ }
+
+ return cs.join('');
+}
+```
+
### **...**
```
diff --git a/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/README_EN.md b/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/README_EN.md
index a3e94a3fe9f29..46c77f94ef876 100644
--- a/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/README_EN.md
+++ b/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/README_EN.md
@@ -143,6 +143,62 @@ func smallestString(s string) string {
}
```
+### **Rust**
+
+```rust
+impl Solution {
+ pub fn smallest_string(s: String) -> String {
+ let mut cs: Vec = s.chars().collect();
+ let n = cs.len();
+ let mut i = 0;
+
+ while i < n && cs[i] == 'a' {
+ i += 1;
+ }
+
+ if i == n {
+ cs[n - 1] = 'z';
+ return cs.into_iter().collect();
+ }
+
+ let mut j = i;
+ while j < n && cs[j] != 'a' {
+ cs[j] = ((cs[j] as u8) - 1) as char;
+ j += 1;
+ }
+
+ cs.into_iter().collect()
+ }
+}
+```
+
+### **TypeScript**
+
+```ts
+function smallestString(s: string): string {
+ const cs: string[] = s.split('');
+ const n: number = cs.length;
+ let i: number = 0;
+ while (i < n && cs[i] === 'a') {
+ i++;
+ }
+
+ if (i === n) {
+ cs[n - 1] = 'z';
+ return cs.join('');
+ }
+
+ let j: number = i;
+ while (j < n && cs[j] !== 'a') {
+ const c: number = cs[j].charCodeAt(0);
+ cs[j] = String.fromCharCode(c - 1);
+ j++;
+ }
+
+ return cs.join('');
+}
+```
+
### **...**
```
diff --git a/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/Solution.rs b/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/Solution.rs
new file mode 100644
index 0000000000000..7b79415befa2d
--- /dev/null
+++ b/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/Solution.rs
@@ -0,0 +1,24 @@
+impl Solution {
+ pub fn smallest_string(s: String) -> String {
+ let mut cs: Vec = s.chars().collect();
+ let n = cs.len();
+ let mut i = 0;
+
+ while i < n && cs[i] == 'a' {
+ i += 1;
+ }
+
+ if i == n {
+ cs[n - 1] = 'z';
+ return cs.into_iter().collect();
+ }
+
+ let mut j = i;
+ while j < n && cs[j] != 'a' {
+ cs[j] = ((cs[j] as u8) - 1) as char;
+ j += 1;
+ }
+
+ cs.into_iter().collect()
+ }
+}
diff --git a/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/Solution.ts b/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/Solution.ts
new file mode 100644
index 0000000000000..7839f0c185c07
--- /dev/null
+++ b/solution/2700-2799/2734.Lexicographically Smallest String After Substring Operation/Solution.ts
@@ -0,0 +1,22 @@
+function smallestString(s: string): string {
+ const cs: string[] = s.split('');
+ const n: number = cs.length;
+ let i: number = 0;
+ while (i < n && cs[i] === 'a') {
+ i++;
+ }
+
+ if (i === n) {
+ cs[n - 1] = 'z';
+ return cs.join('');
+ }
+
+ let j: number = i;
+ while (j < n && cs[j] !== 'a') {
+ const c: number = cs[j].charCodeAt(0);
+ cs[j] = String.fromCharCode(c - 1);
+ j++;
+ }
+
+ return cs.join('');
+}
diff --git a/solution/2700-2799/2735.Collecting Chocolates/README.md b/solution/2700-2799/2735.Collecting Chocolates/README.md
index 2123b1e7f218d..c5f2c8d8be6f0 100644
--- a/solution/2700-2799/2735.Collecting Chocolates/README.md
+++ b/solution/2700-2799/2735.Collecting Chocolates/README.md
@@ -53,13 +53,13 @@
**方法一:枚举**
-我们考虑枚举操作的次数,定义 $f[i][j]$ 表示类型为 $i$ 的巧克力进行了 $j$ 次操作后的最小成本。
+我们考虑枚举操作的次数,定义 $f[i][j]$ 表示第 $i$ 个巧克力进行了 $j$ 次操作后的最小成本。
-对于类型为 $i$ 的巧克力:
+对于第 $i$ 个巧克力:
- 如果 $j = 0$,即没有进行操作,那么 $f[i][j] = nums[i]$;
-- 如果 $0 \lt j \leq n-1$,那么它的最小成本就是下标范围为 $[i,.. (i + j) \bmod n]$ 的巧克力的最小成本,即 $f[i][j] = \min\{nums[i], nums[i + 1], \cdots, nums[(i + j) \bmod n]\}$,或者可以写成 $f[i][j] = \min\{f[i][j - 1], nums[(i + j) \bmod n]\}$。
-- 如果 $j \ge n$,由于当 $j = n - 1$ 时,已经覆盖了所有巧克力的最小成本,如果 $j$ 继续增大,那么最小成本不会再变化,但是操作次数的增加却会导致最终的成本增加,因此,我们不需要考虑 $j \ge n$ 的情况。
+- 如果 $0 \lt j \leq n-1$,那么它的最小成本就是下标范围为 $[i,.. (i - j + n) \bmod n]$ 的最小成本,即 $f[i][j] = \min\{nums[i], nums[i - 1], \cdots, nums[(i - j + n) \bmod n]\}$,或者可以写成 $f[i][j] = \min\{f[i][j - 1], nums[(i - j + n) \bmod n]\}$。
+- 如果 $j \ge n$,由于当 $j = n - 1$ 时,已经覆盖了所有最小成本,如果 $j$ 继续增大,那么最小成本不会再变化,但是操作次数的增加却会导致最终的成本增加,因此,我们不需要考虑 $j \ge n$ 的情况。
综上,我们可以得到状态转移方程:
@@ -67,7 +67,7 @@ $$
f[i][j] =
\begin{cases}
nums[i] ,& j = 0 \\
-\min(f[i][j - 1], nums[(i + j) \bmod n]) ,& 0 \lt j \leq n - 1
+\min(f[i][j - 1], nums[(i - j + n) \bmod n]) ,& 0 \lt j \leq n - 1
\end{cases}
$$
@@ -89,7 +89,7 @@ class Solution:
for i, v in enumerate(nums):
f[i][0] = v
for j in range(1, n):
- f[i][j] = min(f[i][j - 1], nums[(i + j) % n])
+ f[i][j] = min(f[i][j - 1], nums[(i - j) % n])
return min(sum(f[i][j] for i in range(n)) + x * j for j in range(n))
```
@@ -105,7 +105,7 @@ class Solution {
for (int i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (int j = 1; j < n; ++j) {
- f[i][j] = Math.min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = Math.min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
long ans = 1L << 60;
@@ -132,7 +132,7 @@ public:
for (int i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (int j = 1; j < n; ++j) {
- f[i][j] = min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
long long ans = 1LL << 60;
@@ -158,7 +158,7 @@ func minCost(nums []int, x int) int64 {
f[i] = make([]int, n)
f[i][0] = v
for j := 1; j < n; j++ {
- f[i][j] = min(f[i][j-1], nums[(i+j)%n])
+ f[i][j] = min(f[i][j-1], nums[(i-j+n)%n])
}
}
ans := 1 << 60
@@ -182,7 +182,7 @@ function minCost(nums: number[], x: number): number {
for (let i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (let j = 1; j < n; ++j) {
- f[i][j] = Math.min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = Math.min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
let ans = Infinity;
@@ -207,7 +207,7 @@ impl Solution {
for i in 0..n {
f[i][0] = nums[i];
for j in 1..n {
- f[i][j] = f[i][j - 1].min(nums[(i + j) % n]);
+ f[i][j] = f[i][j - 1].min(nums[(i - j + n) % n]);
}
}
let mut ans = i64::MAX;
diff --git a/solution/2700-2799/2735.Collecting Chocolates/README_EN.md b/solution/2700-2799/2735.Collecting Chocolates/README_EN.md
index 4af1950e952aa..253e9d61db832 100644
--- a/solution/2700-2799/2735.Collecting Chocolates/README_EN.md
+++ b/solution/2700-2799/2735.Collecting Chocolates/README_EN.md
@@ -47,13 +47,13 @@ Thus, the total cost will become (1 + 5 + 1 + 5 + 1) = 13. We can prove that thi
**Solution 1: Enumeration**
-We consider enumerating the number of operations, and define $f[i][j]$ as the minimum cost after performing $j$ operations on the chocolate of type $i$.
+We consider enumerating the number of operations, and define $f[i][j]$ as the minimum cost after the $i$-th chocolate has undergone $j$ operations.
-For the chocolate of type $i$:
+For the $i$-th chocolate:
-- If $j = 0$, i.e., no operation is performed, then $f[i][j] = nums[i]$;
-- If $0 \lt j \leq n-1$, then its minimum cost is the minimum cost of the chocolates with indices in the range $[i,.. (i + j) \bmod n]$, i.e., $f[i][j] = \min\{nums[i], nums[i + 1], \cdots, nums[(i + j) \bmod n]\}$, or it can be written as $f[i][j] = \min\{f[i][j - 1], nums[(i + j) \bmod n]\}$.
-- If $j \ge n$, since when $j = n - 1$, the minimum cost of all covered chocolates has been obtained. If $j$ continues to increase, the minimum cost will not change, but the increase in the number of operations will lead to an increase in the final cost. Therefore, we do not need to consider the case where $j \ge n$.
+- If $j = 0$, i.e., no operation is performed, then $f[i][j] = nums[i]$.
+- If $0 < j \leq n-1$, its minimum cost is the minimum cost within the index range $[i,.. (i - j + n) \bmod n]$, i.e., $f[i][j] = \min\{nums[i], nums[i - 1], \cdots, nums[(i - j + n) \bmod n]\}$, or it can be written as $f[i][j] = \min\{f[i][j - 1], nums[(i - j + n) \bmod n]\}$.
+- If $j \ge n$, since when $j = n - 1$, all minimum costs have been covered, if $j$ continues to increase, the minimum cost will not change, but the increase in the number of operations will lead to an increase in the final cost, so we do not need to consider the case where $j \ge n$.
In summary, we can get the state transition equation:
@@ -61,7 +61,7 @@ $$
f[i][j] =
\begin{cases}
nums[i] ,& j = 0 \\
-\min(f[i][j - 1], nums[(i + j) \bmod n]) ,& 0 \lt j \leq n - 1
+\min(f[i][j - 1], nums[(i - j + n) \bmod n]) ,& 0 \lt j \leq n - 1
\end{cases}
$$
@@ -81,7 +81,7 @@ class Solution:
for i, v in enumerate(nums):
f[i][0] = v
for j in range(1, n):
- f[i][j] = min(f[i][j - 1], nums[(i + j) % n])
+ f[i][j] = min(f[i][j - 1], nums[(i - j) % n])
return min(sum(f[i][j] for i in range(n)) + x * j for j in range(n))
```
@@ -95,7 +95,7 @@ class Solution {
for (int i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (int j = 1; j < n; ++j) {
- f[i][j] = Math.min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = Math.min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
long ans = 1L << 60;
@@ -122,7 +122,7 @@ public:
for (int i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (int j = 1; j < n; ++j) {
- f[i][j] = min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
long long ans = 1LL << 60;
@@ -148,7 +148,7 @@ func minCost(nums []int, x int) int64 {
f[i] = make([]int, n)
f[i][0] = v
for j := 1; j < n; j++ {
- f[i][j] = min(f[i][j-1], nums[(i+j)%n])
+ f[i][j] = min(f[i][j-1], nums[(i-j+n)%n])
}
}
ans := 1 << 60
@@ -172,7 +172,7 @@ function minCost(nums: number[], x: number): number {
for (let i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (let j = 1; j < n; ++j) {
- f[i][j] = Math.min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = Math.min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
let ans = Infinity;
@@ -197,7 +197,7 @@ impl Solution {
for i in 0..n {
f[i][0] = nums[i];
for j in 1..n {
- f[i][j] = f[i][j - 1].min(nums[(i + j) % n]);
+ f[i][j] = f[i][j - 1].min(nums[(i - j + n) % n]);
}
}
let mut ans = i64::MAX;
diff --git a/solution/2700-2799/2735.Collecting Chocolates/Solution.cpp b/solution/2700-2799/2735.Collecting Chocolates/Solution.cpp
index 971687a6e1dbb..196f50602e492 100644
--- a/solution/2700-2799/2735.Collecting Chocolates/Solution.cpp
+++ b/solution/2700-2799/2735.Collecting Chocolates/Solution.cpp
@@ -6,7 +6,7 @@ class Solution {
for (int i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (int j = 1; j < n; ++j) {
- f[i][j] = min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
long long ans = 1LL << 60;
diff --git a/solution/2700-2799/2735.Collecting Chocolates/Solution.go b/solution/2700-2799/2735.Collecting Chocolates/Solution.go
index a62e16a70a1c7..4ddca35d29d6e 100644
--- a/solution/2700-2799/2735.Collecting Chocolates/Solution.go
+++ b/solution/2700-2799/2735.Collecting Chocolates/Solution.go
@@ -5,7 +5,7 @@ func minCost(nums []int, x int) int64 {
f[i] = make([]int, n)
f[i][0] = v
for j := 1; j < n; j++ {
- f[i][j] = min(f[i][j-1], nums[(i+j)%n])
+ f[i][j] = min(f[i][j-1], nums[(i-j+n)%n])
}
}
ans := 1 << 60
diff --git a/solution/2700-2799/2735.Collecting Chocolates/Solution.java b/solution/2700-2799/2735.Collecting Chocolates/Solution.java
index 0e1c75f244ce0..6e4afa4a1c552 100644
--- a/solution/2700-2799/2735.Collecting Chocolates/Solution.java
+++ b/solution/2700-2799/2735.Collecting Chocolates/Solution.java
@@ -5,7 +5,7 @@ public long minCost(int[] nums, int x) {
for (int i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (int j = 1; j < n; ++j) {
- f[i][j] = Math.min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = Math.min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
long ans = 1L << 60;
diff --git a/solution/2700-2799/2735.Collecting Chocolates/Solution.py b/solution/2700-2799/2735.Collecting Chocolates/Solution.py
index 48ebe53a46246..c5b0c2ebf778b 100644
--- a/solution/2700-2799/2735.Collecting Chocolates/Solution.py
+++ b/solution/2700-2799/2735.Collecting Chocolates/Solution.py
@@ -5,5 +5,5 @@ def minCost(self, nums: List[int], x: int) -> int:
for i, v in enumerate(nums):
f[i][0] = v
for j in range(1, n):
- f[i][j] = min(f[i][j - 1], nums[(i + j) % n])
+ f[i][j] = min(f[i][j - 1], nums[(i - j) % n])
return min(sum(f[i][j] for i in range(n)) + x * j for j in range(n))
diff --git a/solution/2700-2799/2735.Collecting Chocolates/Solution.rs b/solution/2700-2799/2735.Collecting Chocolates/Solution.rs
index 037aec5fa0484..b510f19c2d2fb 100644
--- a/solution/2700-2799/2735.Collecting Chocolates/Solution.rs
+++ b/solution/2700-2799/2735.Collecting Chocolates/Solution.rs
@@ -5,7 +5,7 @@ impl Solution {
for i in 0..n {
f[i][0] = nums[i];
for j in 1..n {
- f[i][j] = f[i][j - 1].min(nums[(i + j) % n]);
+ f[i][j] = f[i][j - 1].min(nums[(i - j + n) % n]);
}
}
let mut ans = i64::MAX;
diff --git a/solution/2700-2799/2735.Collecting Chocolates/Solution.ts b/solution/2700-2799/2735.Collecting Chocolates/Solution.ts
index bc513852c19db..f10898508d691 100644
--- a/solution/2700-2799/2735.Collecting Chocolates/Solution.ts
+++ b/solution/2700-2799/2735.Collecting Chocolates/Solution.ts
@@ -4,7 +4,7 @@ function minCost(nums: number[], x: number): number {
for (let i = 0; i < n; ++i) {
f[i][0] = nums[i];
for (let j = 1; j < n; ++j) {
- f[i][j] = Math.min(f[i][j - 1], nums[(i + j) % n]);
+ f[i][j] = Math.min(f[i][j - 1], nums[(i - j + n) % n]);
}
}
let ans = Infinity;
diff --git a/solution/2700-2799/2754.Bind Function to Context/README.md b/solution/2700-2799/2754.Bind Function to Context/README.md
index 13caf1bc3e012..a3d86d2477caf 100644
--- a/solution/2700-2799/2754.Bind Function to Context/README.md
+++ b/solution/2700-2799/2754.Bind Function to Context/README.md
@@ -72,7 +72,7 @@ boundFunc(); // "My name is Kathy"
提示:
- obj 是一个非空对象
+ obj
是一个非空对象
0 <= inputs.length <= 100
diff --git a/solution/2700-2799/2756.Query Batching/README.md b/solution/2700-2799/2756.Query Batching/README.md
index f818ad8a63f0d..f94e10e1bda59 100644
--- a/solution/2700-2799/2756.Query Batching/README.md
+++ b/solution/2700-2799/2756.Query Batching/README.md
@@ -123,7 +123,7 @@ calls = [
0 <= t <= 1000
0 <= calls.length <= 10
1 <= key.length <= 100
- 所有的键值都是唯一的
+ 所有的键值都是唯一的
## 解法
diff --git a/solution/2700-2799/2759.Convert JSON String to Object/README.md b/solution/2700-2799/2759.Convert JSON String to Object/README.md
index 6bcec137a1fd1..54d97592c3e25 100644
--- a/solution/2700-2799/2759.Convert JSON String to Object/README.md
+++ b/solution/2700-2799/2759.Convert JSON String to Object/README.md
@@ -6,7 +6,7 @@
-给定一个字符串 str
,返回 JSON 解析后的 parsedStr
。你可以假设 str
是一个有效的 JSON 字符串,因此它只包含字符串、数字、数组、对象、布尔值和 null。str
不会包含不可见字符和转义字符。JSON 中的字符串值只包含字母数字字符。
+给定一个字符串 str
,返回 JSON 解析后的 parsedStr
。你可以假设 str
是一个有效的 JSON 字符串,因此它只包含字符串、数字、数组、对象、布尔值和 null。str
不会包含不可见字符和转义字符。
请在不使用内置的 JSON.parse
方法的情况下解决此问题。
diff --git a/solution/2700-2799/2759.Convert JSON String to Object/README_EN.md b/solution/2700-2799/2759.Convert JSON String to Object/README_EN.md
index 23adcd72b80e3..22426011cc0b4 100644
--- a/solution/2700-2799/2759.Convert JSON String to Object/README_EN.md
+++ b/solution/2700-2799/2759.Convert JSON String to Object/README_EN.md
@@ -4,7 +4,7 @@
## Description
-Given a string str
, return parsed JSON parsedStr
. You may assume the str
is a valid JSON string hence it only includes strings, numbers, arrays, objects, booleans, and null. str
will not include invisible characters and escape characters. String values within the JSON will only contain alphanumeric characters.
+Given a string str
, return parsed JSON parsedStr
. You may assume the str
is a valid JSON string hence it only includes strings, numbers, arrays, objects, booleans, and null. str
will not include invisible characters and escape characters.
Please solve it without using the built-in JSON.parse
method.
diff --git a/solution/2700-2799/2774.Array Upper Bound/README.md b/solution/2700-2799/2774.Array Upper Bound/README.md
index 219f36a9dd757..b88ef281bff47 100644
--- a/solution/2700-2799/2774.Array Upper Bound/README.md
+++ b/solution/2700-2799/2774.Array Upper Bound/README.md
@@ -10,8 +10,6 @@
-
-
示例 1:
@@ -45,6 +43,10 @@
nums
按升序排序。
+
+
+进阶:你能编写一个时间复杂度为 O(log n) 的算法吗?
+
## 解法
diff --git a/solution/2700-2799/2776.Convert Callback Based Function to Promise Based Function/README.md b/solution/2700-2799/2776.Convert Callback Based Function to Promise Based Function/README.md
index 46ca9f3cee02d..22ec0e94f0b42 100644
--- a/solution/2700-2799/2776.Convert Callback Based Function to Promise Based Function/README.md
+++ b/solution/2700-2799/2776.Convert Callback Based Function to Promise Based Function/README.md
@@ -8,7 +8,9 @@
编写一个函数,接受另一个函数 fn
,并将基于回调函数的函数转换为基于 Promise 的函数。
-promisify
函数接受一个函数 fn
,fn
将回调函数作为其第一个参数,并且还可以接受其他额外的参数。promisfy
返回一个新函数,新函数会返回一个 Promise 对象。当回调函数被成功调用时,新函数返回的 Promise 对象应该使用原始函数的结果进行解析;当回调函数被调用出现错误时,返回的 Promise 对象应该被拒绝并携带错误信息。最终返回的基于 Promise 的函数应该接受额外的参数作为输入。
+promisify
函数接受一个函数 fn
,fn
将回调函数作为其第一个参数,并且还可以接受其他额外的参数。
+
+promisfy
返回一个新函数,新函数会返回一个 Promise 对象。当回调函数被成功调用时,新函数返回的 Promise 对象应该使用原始函数的结果进行解析;当回调函数被调用出现错误时,返回的 Promise 对象应该被拒绝并携带错误信息。最终返回的基于 Promise 的函数应该接受额外的参数作为输入。
以下是一个可以传递给 promisify
的函数示例:
diff --git a/solution/2700-2799/2796.Repeat String/README.md b/solution/2700-2799/2796.Repeat String/README.md
index abe7d9e2da69e..337996a4bdbc2 100644
--- a/solution/2700-2799/2796.Repeat String/README.md
+++ b/solution/2700-2799/2796.Repeat String/README.md
@@ -41,8 +41,7 @@
提示:
- 1 <= str.length <= 1000
- 1 <= times <= 1000
+ 1 <= str.length, times <= 105
## 解法
diff --git a/solution/2900-2999/2921.Maximum Profitable Triplets With Increasing Prices II/README.md b/solution/2900-2999/2921.Maximum Profitable Triplets With Increasing Prices II/README.md
index c06b254dc0cc2..cc6dec52b4e0d 100644
--- a/solution/2900-2999/2921.Maximum Profitable Triplets With Increasing Prices II/README.md
+++ b/solution/2900-2999/2921.Maximum Profitable Triplets With Increasing Prices II/README.md
@@ -1,4 +1,4 @@
-# [2921. 具有递增价格的最大利润三元组 II](https://leetcode.cn/problems/maximum-profitable-triplets-with-increasing-prices-ii)
+# [2921. 价格递增的最大利润三元组 II](https://leetcode.cn/problems/maximum-profitable-triplets-with-increasing-prices-ii)
[English Version](/solution/2900-2999/2921.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20II/README_EN.md)
diff --git a/solution/2900-2999/2964.Number of Divisible Triplet Sums/README.md b/solution/2900-2999/2964.Number of Divisible Triplet Sums/README.md
index 7fd9ecb5ab347..1482102fecd2f 100644
--- a/solution/2900-2999/2964.Number of Divisible Triplet Sums/README.md
+++ b/solution/2900-2999/2964.Number of Divisible Triplet Sums/README.md
@@ -1,4 +1,4 @@
-# [2964. Number of Divisible Triplet Sums](https://leetcode.cn/problems/number-of-divisible-triplet-sums)
+# [2964. 可被整除的三元组数量](https://leetcode.cn/problems/number-of-divisible-triplet-sums)
[English Version](/solution/2900-2999/2964.Number%20of%20Divisible%20Triplet%20Sums/README_EN.md)
@@ -6,36 +6,37 @@
-Given a 0-indexed integer array nums
and an integer d
, return the number of triplets (i, j, k)
such that i < j < k
and (nums[i] + nums[j] + nums[k]) % d == 0
.
+给定一个 下标从 0 开始 的整数数组 nums
和一个整数 d
,请返回满足 i < j < k
且 (nums[i] + nums[j] + nums[k]) % d == 0
的三元组 (i, j, k)
的数量。
-Example 1:
+
+示例 1:
-Input: nums = [3,3,4,7,8], d = 5
-Output: 3
-Explanation: The triplets which are divisible by 5 are: (0, 1, 2), (0, 2, 4), (1, 2, 4).
-It can be shown that no other triplet is divisible by 5. Hence, the answer is 3.
+输入:nums = [3,3,4,7,8], d = 5
+输出:3
+解释:可以被5整除的三元组有:(0, 1, 2),(0, 2, 4),(1, 2, 4)。其他没有其他能被5整除的三元组。因此,答案是3。
-Example 2:
+示例 2:
-Input: nums = [3,3,3,3], d = 3
-Output: 4
-Explanation: Any triplet chosen here has a sum of 9, which is divisible by 3. Hence, the answer is the total number of triplets which is 4.
+输入:nums = [3,3,3,3], d = 3
+输出:4
+解释:这里选择的任何三元组的和都是9,可以被3整除。因此,答案是所有三元组的总数,即4。
-Example 3:
+示例 3:
-Input: nums = [3,3,3,3], d = 6
-Output: 0
-Explanation: Any triplet chosen here has a sum of 9, which is not divisible by 6. Hence, the answer is 0.
+输入:nums = [3,3,3,3], d = 6
+输出:0
+解释:这里选择的任何三元组的和都是9,不能被6整除。因此,答案是0。
-Constraints:
+
+提示:
1 <= nums.length <= 1000
diff --git a/solution/2900-2999/2969.Minimum Number of Coins for Fruits II/README.md b/solution/2900-2999/2969.Minimum Number of Coins for Fruits II/README.md
index 9170ccc9a4dd0..b4f695ee8a7b1 100644
--- a/solution/2900-2999/2969.Minimum Number of Coins for Fruits II/README.md
+++ b/solution/2900-2999/2969.Minimum Number of Coins for Fruits II/README.md
@@ -1,4 +1,4 @@
-# [2969. Minimum Number of Coins for Fruits II](https://leetcode.cn/problems/minimum-number-of-coins-for-fruits-ii)
+# [2969. 购买水果需要的最少金币数 II](https://leetcode.cn/problems/minimum-number-of-coins-for-fruits-ii)
[English Version](/solution/2900-2999/2969.Minimum%20Number%20of%20Coins%20for%20Fruits%20II/README_EN.md)
@@ -6,49 +6,51 @@
-You are at a fruit market with different types of exotic fruits on display.
+你在一个水果超市里,货架上摆满了玲琅满目的奇珍异果。
-You are given a 1-indexed array prices
, where prices[i]
denotes the number of coins needed to purchase the ith
fruit.
+给你一个 下标从 1 开始 的数组 prices
,其中 prices[i]
表示你购买第 i
个水果所需的硬币数量。
-The fruit market has the following offer:
+水果市场有以下优惠活动:
- - If you purchase the
ith
fruit at prices[i]
coins, you can get the next i
fruits for free.
+ - 如果你用
prices[i]
个硬币购买第 i
个水果, 那么接下来的 i 个水果你都可以免费获得。
-Note that even if you can take fruit j
for free, you can still purchase it for prices[j]
coins to receive a new offer.
+请注意 即使你 可以 免费获得第 j
个水果,你仍然可以用 prices[j]
个硬币来购买它,以获取新的优惠。
-Return the minimum number of coins needed to acquire all the fruits.
+返回 获得所有水果所需的 最小 硬币数量。
-Example 1:
+
+示例 1:
-Input: prices = [3,1,2]
-Output: 4
-Explanation: You can acquire the fruits as follows:
-- Purchase the 1st fruit with 3 coins, and you are allowed to take the 2nd fruit for free.
-- Purchase the 2nd fruit with 1 coin, and you are allowed to take the 3rd fruit for free.
-- Take the 3rd fruit for free.
-Note that even though you were allowed to take the 2nd fruit for free, you purchased it because it is more optimal.
-It can be proven that 4 is the minimum number of coins needed to acquire all the fruits.
+输入:prices = [3,1,2]
+输出:4
+解释:你可以按以下方式获取水果:
+- 用3个硬币购买第1个水果,并且可以免费获得第2个水果。
+- 用1个硬币购买第2个水果,并且可以免费获得第3个水果。
+- 免费获得第三个水果。
+请注意,即使你可以免费获得第2个水果,你还是购买了它,因为这是更优的选择。
+可以证明4是获取所有水果所需的最小硬币数量。
-Example 2:
+示例 2:
-Input: prices = [1,10,1,1]
-Output: 2
-Explanation: You can acquire the fruits as follows:
-- Purchase the 1st fruit with 1 coin, and you are allowed to take the 2nd fruit for free.
-- Take the 2nd fruit for free.
-- Purchase the 3rd fruit for 1 coin, and you are allowed to take the 4th fruit for free.
-- Take the 4th fruit for free.
-It can be proven that 2 is the minimum number of coins needed to acquire all the fruits.
+输入:prices = [1,10,1,1]
+输出:2
+解释:你可以按以下方式获取水果:
+- 用1个硬币购买第1个水果,并且可以免费获得第2个水果。
+- 免费获得第2个水果。
+- 用1个硬币购买第3个水果,并且可以免费获得第4个水果。
+- 免费获得第4个水果。
+可以证明2是获取所有水果所需的最小硬币数量。
-Constraints:
+
+提示:
1 <= prices.length <= 105
diff --git a/solution/CONTEST_README.md b/solution/CONTEST_README.md
index c588877c98f89..fe60e6936bb45 100644
--- a/solution/CONTEST_README.md
+++ b/solution/CONTEST_README.md
@@ -274,7 +274,7 @@
- [2780. 合法分割的最小下标](/solution/2700-2799/2780.Minimum%20Index%20of%20a%20Valid%20Split/README.md)
- [2781. 最长合法子字符串的长度](/solution/2700-2799/2781.Length%20of%20the%20Longest%20Valid%20Substring/README.md)
-#### 第 353 场周赛(2023-07-09 10:30, 90 分钟) 参赛人数 4112
+#### 第 353 场周赛(2023-07-09 10:30, 90 分钟) 参赛人数 4113
- [2769. 找出最大的可达成数字](/solution/2700-2799/2769.Find%20the%20Maximum%20Achievable%20Number/README.md)
- [2770. 达到末尾下标所需的最大跳跃次数](/solution/2700-2799/2770.Maximum%20Number%20of%20Jumps%20to%20Reach%20the%20Last%20Index/README.md)
@@ -551,15 +551,15 @@
- [2529. 正整数和负整数的最大计数](/solution/2500-2599/2529.Maximum%20Count%20of%20Positive%20Integer%20and%20Negative%20Integer/README.md)
- [2530. 执行 K 次操作后的最大分数](/solution/2500-2599/2530.Maximal%20Score%20After%20Applying%20K%20Operations/README.md)
-- [2531. 使字符串总不同字符的数目相等](/solution/2500-2599/2531.Make%20Number%20of%20Distinct%20Characters%20Equal/README.md)
+- [2531. 使字符串中不同字符的数目相等](/solution/2500-2599/2531.Make%20Number%20of%20Distinct%20Characters%20Equal/README.md)
- [2532. 过桥的时间](/solution/2500-2599/2532.Time%20to%20Cross%20a%20Bridge/README.md)
#### 第 95 场双周赛(2023-01-07 22:30, 90 分钟) 参赛人数 2880
- [2525. 根据规则将箱子分类](/solution/2500-2599/2525.Categorize%20Box%20According%20to%20Criteria/README.md)
- [2526. 找到数据流中的连续整数](/solution/2500-2599/2526.Find%20Consecutive%20Integers%20from%20a%20Data%20Stream/README.md)
-- [2527. 查询数组 Xor 美丽值](/solution/2500-2599/2527.Find%20Xor-Beauty%20of%20Array/README.md)
-- [2528. 最大化城市的最小供电站数目](/solution/2500-2599/2528.Maximize%20the%20Minimum%20Powered%20City/README.md)
+- [2527. 查询数组异或美丽值](/solution/2500-2599/2527.Find%20Xor-Beauty%20of%20Array/README.md)
+- [2528. 最大化城市的最小电量](/solution/2500-2599/2528.Maximize%20the%20Minimum%20Powered%20City/README.md)
#### 第 326 场周赛(2023-01-01 10:30, 90 分钟) 参赛人数 3873
@@ -698,7 +698,7 @@
- [2427. 公因子的数目](/solution/2400-2499/2427.Number%20of%20Common%20Factors/README.md)
- [2428. 沙漏的最大总和](/solution/2400-2499/2428.Maximum%20Sum%20of%20an%20Hourglass/README.md)
-- [2429. 最小 XOR](/solution/2400-2499/2429.Minimize%20XOR/README.md)
+- [2429. 最小异或](/solution/2400-2499/2429.Minimize%20XOR/README.md)
- [2430. 对字母串可执行的最大删除数](/solution/2400-2499/2430.Maximum%20Deletions%20on%20a%20String/README.md)
#### 第 88 场双周赛(2022-10-01 22:30, 90 分钟) 参赛人数 3905
@@ -1145,7 +1145,7 @@
#### 第 67 场双周赛(2021-12-11 22:30, 90 分钟) 参赛人数 2923
- [2099. 找到和最大的长度为 K 的子序列](/solution/2000-2099/2099.Find%20Subsequence%20of%20Length%20K%20With%20the%20Largest%20Sum/README.md)
-- [2100. 适合打劫银行的日子](/solution/2100-2199/2100.Find%20Good%20Days%20to%20Rob%20the%20Bank/README.md)
+- [2100. 适合野炊的日子](/solution/2100-2199/2100.Find%20Good%20Days%20to%20Rob%20the%20Bank/README.md)
- [2101. 引爆最多的炸弹](/solution/2100-2199/2101.Detonate%20the%20Maximum%20Bombs/README.md)
- [2102. 序列顺序查询](/solution/2100-2199/2102.Sequentially%20Ordinal%20Rank%20Tracker/README.md)
@@ -2344,7 +2344,7 @@
- [1213. 三个有序数组的交集](/solution/1200-1299/1213.Intersection%20of%20Three%20Sorted%20Arrays/README.md)
- [1214. 查找两棵二叉搜索树之和](/solution/1200-1299/1214.Two%20Sum%20BSTs/README.md)
- [1215. 步进数](/solution/1200-1299/1215.Stepping%20Numbers/README.md)
-- [1216. 验证回文字符串 III](/solution/1200-1299/1216.Valid%20Palindrome%20III/README.md)
+- [1216. 验证回文串 III](/solution/1200-1299/1216.Valid%20Palindrome%20III/README.md)
#### 第 156 场周赛(2019-09-29 10:30, 90 分钟) 参赛人数 1433
diff --git a/solution/DATABASE_README.md b/solution/DATABASE_README.md
index 1d369772358d9..01debc9970773 100644
--- a/solution/DATABASE_README.md
+++ b/solution/DATABASE_README.md
@@ -82,7 +82,7 @@
| 1158 | [市场分析 I](/solution/1100-1199/1158.Market%20Analysis%20I/README.md) | `数据库` | 中等 | |
| 1159 | [市场分析 II](/solution/1100-1199/1159.Market%20Analysis%20II/README.md) | `数据库` | 困难 | 🔒 |
| 1164 | [指定日期的产品价格](/solution/1100-1199/1164.Product%20Price%20at%20a%20Given%20Date/README.md) | `数据库` | 中等 | |
-| 1173 | [即时食物配送 I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README.md) | `数据库` | 简单 | |
+| 1173 | [即时食物配送 I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README.md) | `数据库` | 简单 | 🔒 |
| 1174 | [即时食物配送 II](/solution/1100-1199/1174.Immediate%20Food%20Delivery%20II/README.md) | `数据库` | 中等 | |
| 1179 | [重新格式化部门表](/solution/1100-1199/1179.Reformat%20Department%20Table/README.md) | `数据库` | 简单 | |
| 1193 | [每月交易 I](/solution/1100-1199/1193.Monthly%20Transactions%20I/README.md) | `数据库` | 中等 | |
@@ -144,7 +144,7 @@
| 1623 | [三人国家代表队](/solution/1600-1699/1623.All%20Valid%20Triplets%20That%20Can%20Represent%20a%20Country/README.md) | `数据库` | 简单 | 🔒 |
| 1633 | [各赛事的用户注册率](/solution/1600-1699/1633.Percentage%20of%20Users%20Attended%20a%20Contest/README.md) | `数据库` | 简单 | |
| 1635 | [Hopper 公司查询 I](/solution/1600-1699/1635.Hopper%20Company%20Queries%20I/README.md) | `数据库` | 困难 | 🔒 |
-| 1645 | [1645.Hopper 公司查询 II](/solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md) | `数据库` | 困难 | 🔒 |
+| 1645 | [Hopper 公司查询 II](/solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md) | `数据库` | 困难 | 🔒 |
| 1651 | [Hopper 公司查询 III](/solution/1600-1699/1651.Hopper%20Company%20Queries%20III/README.md) | `数据库` | 困难 | 🔒 |
| 1661 | [每台机器的进程平均运行时间](/solution/1600-1699/1661.Average%20Time%20of%20Process%20per%20Machine/README.md) | `数据库` | 简单 | |
| 1667 | [修复表中的名字](/solution/1600-1699/1667.Fix%20Names%20in%20a%20Table/README.md) | `数据库` | 简单 | |
@@ -196,7 +196,7 @@
| 2051 | [商店中每个成员的级别](/solution/2000-2099/2051.The%20Category%20of%20Each%20Member%20in%20the%20Store/README.md) | `数据库` | 中等 | 🔒 |
| 2066 | [账户余额](/solution/2000-2099/2066.Account%20Balance/README.md) | `数据库` | 中等 | 🔒 |
| 2072 | [赢得比赛的大学](/solution/2000-2099/2072.The%20Winner%20University/README.md) | `数据库` | 简单 | 🔒 |
-| 2082 | [富有客户的数量](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README.md) | `数据库` | 简单 | |
+| 2082 | [富有客户的数量](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README.md) | `数据库` | 简单 | 🔒 |
| 2084 | [为订单类型为 0 的客户删除类型为 1 的订单](/solution/2000-2099/2084.Drop%20Type%201%20Orders%20for%20Customers%20With%20Type%200%20Orders/README.md) | `数据库` | 中等 | 🔒 |
| 2112 | [最繁忙的机场](/solution/2100-2199/2112.The%20Airport%20With%20the%20Most%20Traffic/README.md) | `数据库` | 中等 | 🔒 |
| 2118 | [建立方程](/solution/2100-2199/2118.Build%20the%20Equation/README.md) | `数据库` | 困难 | 🔒 |
diff --git a/solution/DATABASE_README_EN.md b/solution/DATABASE_README_EN.md
index 2dca754052098..92f97a1831630 100644
--- a/solution/DATABASE_README_EN.md
+++ b/solution/DATABASE_README_EN.md
@@ -80,7 +80,7 @@ Press Control + F(or Command + F on
| 1158 | [Market Analysis I](/solution/1100-1199/1158.Market%20Analysis%20I/README_EN.md) | `Database` | Medium | |
| 1159 | [Market Analysis II](/solution/1100-1199/1159.Market%20Analysis%20II/README_EN.md) | `Database` | Hard | 🔒 |
| 1164 | [Product Price at a Given Date](/solution/1100-1199/1164.Product%20Price%20at%20a%20Given%20Date/README_EN.md) | `Database` | Medium | |
-| 1173 | [Immediate Food Delivery I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README_EN.md) | `Database` | Easy | |
+| 1173 | [Immediate Food Delivery I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README_EN.md) | `Database` | Easy | 🔒 |
| 1174 | [Immediate Food Delivery II](/solution/1100-1199/1174.Immediate%20Food%20Delivery%20II/README_EN.md) | `Database` | Medium | |
| 1179 | [Reformat Department Table](/solution/1100-1199/1179.Reformat%20Department%20Table/README_EN.md) | `Database` | Easy | |
| 1193 | [Monthly Transactions I](/solution/1100-1199/1193.Monthly%20Transactions%20I/README_EN.md) | `Database` | Medium | |
@@ -194,7 +194,7 @@ Press Control + F(or Command + F on
| 2051 | [The Category of Each Member in the Store](/solution/2000-2099/2051.The%20Category%20of%20Each%20Member%20in%20the%20Store/README_EN.md) | `Database` | Medium | 🔒 |
| 2066 | [Account Balance](/solution/2000-2099/2066.Account%20Balance/README_EN.md) | `Database` | Medium | 🔒 |
| 2072 | [The Winner University](/solution/2000-2099/2072.The%20Winner%20University/README_EN.md) | `Database` | Easy | 🔒 |
-| 2082 | [The Number of Rich Customers](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README_EN.md) | `Database` | Easy | |
+| 2082 | [The Number of Rich Customers](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README_EN.md) | `Database` | Easy | 🔒 |
| 2084 | [Drop Type 1 Orders for Customers With Type 0 Orders](/solution/2000-2099/2084.Drop%20Type%201%20Orders%20for%20Customers%20With%20Type%200%20Orders/README_EN.md) | `Database` | Medium | 🔒 |
| 2112 | [The Airport With the Most Traffic](/solution/2100-2199/2112.The%20Airport%20With%20the%20Most%20Traffic/README_EN.md) | `Database` | Medium | 🔒 |
| 2118 | [Build the Equation](/solution/2100-2199/2118.Build%20the%20Equation/README_EN.md) | `Database` | Hard | 🔒 |
diff --git a/solution/JAVASCRIPT_README.md b/solution/JAVASCRIPT_README.md
index 2a27e4a0a69d7..c95287c9c0c86 100644
--- a/solution/JAVASCRIPT_README.md
+++ b/solution/JAVASCRIPT_README.md
@@ -36,7 +36,7 @@
| 2665 | [计数器 II](/solution/2600-2699/2665.Counter%20II/README.md) | | 简单 | |
| 2666 | [只允许一次函数调用](/solution/2600-2699/2666.Allow%20One%20Function%20Call/README.md) | | 简单 | |
| 2667 | [创建 Hello World 函数](/solution/2600-2699/2667.Create%20Hello%20World%20Function/README.md) | | 简单 | |
-| 2675 | [将对象数组转换为矩阵](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README.md) | | 中等 | 🔒 |
+| 2675 | [将对象数组转换为矩阵](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README.md) | | 困难 | 🔒 |
| 2676 | [节流](/solution/2600-2699/2676.Throttle/README.md) | | 中等 | 🔒 |
| 2677 | [分块数组](/solution/2600-2699/2677.Chunk%20Array/README.md) | | 简单 | |
| 2690 | [无穷方法对象](/solution/2600-2699/2690.Infinite%20Method%20Object/README.md) | | 简单 | 🔒 |
@@ -52,7 +52,7 @@
| 2715 | [执行可取消的延迟函数](/solution/2700-2799/2715.Timeout%20Cancellation/README.md) | | 简单 | |
| 2721 | [并行执行异步函数](/solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README.md) | | 中等 | |
| 2722 | [根据 ID 合并两个数组](/solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README.md) | | 中等 | |
-| 2723 | [添加两个 Promise 对象](/solution/2700-2799/2723.Add%20Two%20Promises/README.md) | | 简单 | |
+| 2723 | [两个 Promise 对象相加](/solution/2700-2799/2723.Add%20Two%20Promises/README.md) | | 简单 | |
| 2724 | [排序方式](/solution/2700-2799/2724.Sort%20By/README.md) | | 简单 | |
| 2725 | [间隔取消](/solution/2700-2799/2725.Interval%20Cancellation/README.md) | | 简单 | |
| 2726 | [使用方法链的计算器](/solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README.md) | | 简单 | |
@@ -70,7 +70,7 @@
| 2794 | [从两个数组中创建对象](/solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README.md) | | 简单 | 🔒 |
| 2795 | [并行执行 Promise 以获取独有的结果](/solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README.md) | | 中等 | 🔒 |
| 2796 | [重复字符串](/solution/2700-2799/2796.Repeat%20String/README.md) | | 简单 | 🔒 |
-| 2797 | [带有占位符的部分函数](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README.md) | | 中等 | 🔒 |
+| 2797 | [带有占位符的部分函数](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README.md) | | 简单 | 🔒 |
| 2803 | [阶乘生成器](/solution/2800-2899/2803.Factorial%20Generator/README.md) | | 简单 | 🔒 |
| 2804 | [数组原型的 forEach 方法](/solution/2800-2899/2804.Array%20Prototype%20ForEach/README.md) | | 简单 | 🔒 |
| 2805 | [自定义间隔](/solution/2800-2899/2805.Custom%20Interval/README.md) | | 中等 | 🔒 |
diff --git a/solution/JAVASCRIPT_README_EN.md b/solution/JAVASCRIPT_README_EN.md
index c15d919cb7d7c..e6781d310ba50 100644
--- a/solution/JAVASCRIPT_README_EN.md
+++ b/solution/JAVASCRIPT_README_EN.md
@@ -34,7 +34,7 @@ Press Control + F(or Command + F on
| 2665 | [Counter II](/solution/2600-2699/2665.Counter%20II/README_EN.md) | | Easy | |
| 2666 | [Allow One Function Call](/solution/2600-2699/2666.Allow%20One%20Function%20Call/README_EN.md) | | Easy | |
| 2667 | [Create Hello World Function](/solution/2600-2699/2667.Create%20Hello%20World%20Function/README_EN.md) | | Easy | |
-| 2675 | [Array of Objects to Matrix](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README_EN.md) | | Medium | 🔒 |
+| 2675 | [Array of Objects to Matrix](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README_EN.md) | | Hard | 🔒 |
| 2676 | [Throttle](/solution/2600-2699/2676.Throttle/README_EN.md) | | Medium | 🔒 |
| 2677 | [Chunk Array](/solution/2600-2699/2677.Chunk%20Array/README_EN.md) | | Easy | |
| 2690 | [Infinite Method Object](/solution/2600-2699/2690.Infinite%20Method%20Object/README_EN.md) | | Easy | 🔒 |
@@ -68,7 +68,7 @@ Press Control + F(or Command + F on
| 2794 | [Create Object from Two Arrays](/solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README_EN.md) | | Easy | 🔒 |
| 2795 | [Parallel Execution of Promises for Individual Results Retrieval](/solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README_EN.md) | | Medium | 🔒 |
| 2796 | [Repeat String](/solution/2700-2799/2796.Repeat%20String/README_EN.md) | | Easy | 🔒 |
-| 2797 | [Partial Function with Placeholders](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md) | | Medium | 🔒 |
+| 2797 | [Partial Function with Placeholders](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md) | | Easy | 🔒 |
| 2803 | [Factorial Generator](/solution/2800-2899/2803.Factorial%20Generator/README_EN.md) | | Easy | 🔒 |
| 2804 | [Array Prototype ForEach](/solution/2800-2899/2804.Array%20Prototype%20ForEach/README_EN.md) | | Easy | 🔒 |
| 2805 | [Custom Interval](/solution/2800-2899/2805.Custom%20Interval/README_EN.md) | | Medium | 🔒 |
diff --git a/solution/README.md b/solution/README.md
index b1c4ed6dd0545..14af0538165f6 100644
--- a/solution/README.md
+++ b/solution/README.md
@@ -82,7 +82,7 @@
| 0069 | [x 的平方根 ](/solution/0000-0099/0069.Sqrt%28x%29/README.md) | `数学`,`二分查找` | 简单 | |
| 0070 | [爬楼梯](/solution/0000-0099/0070.Climbing%20Stairs/README.md) | `记忆化搜索`,`数学`,`动态规划` | 简单 | |
| 0071 | [简化路径](/solution/0000-0099/0071.Simplify%20Path/README.md) | `栈`,`字符串` | 中等 | |
-| 0072 | [编辑距离](/solution/0000-0099/0072.Edit%20Distance/README.md) | `字符串`,`动态规划` | 困难 | |
+| 0072 | [编辑距离](/solution/0000-0099/0072.Edit%20Distance/README.md) | `字符串`,`动态规划` | 中等 | |
| 0073 | [矩阵置零](/solution/0000-0099/0073.Set%20Matrix%20Zeroes/README.md) | `数组`,`哈希表`,`矩阵` | 中等 | |
| 0074 | [搜索二维矩阵](/solution/0000-0099/0074.Search%20a%202D%20Matrix/README.md) | `数组`,`二分查找`,`矩阵` | 中等 | |
| 0075 | [颜色分类](/solution/0000-0099/0075.Sort%20Colors/README.md) | `数组`,`双指针`,`排序` | 中等 | |
@@ -102,7 +102,6 @@
| 0089 | [格雷编码](/solution/0000-0099/0089.Gray%20Code/README.md) | `位运算`,`数学`,`回溯` | 中等 | |
| 0090 | [子集 II](/solution/0000-0099/0090.Subsets%20II/README.md) | `位运算`,`数组`,`回溯` | 中等 | |
| 0091 | [解码方法](/solution/0000-0099/0091.Decode%20Ways/README.md) | `字符串`,`动态规划` | 中等 | |
-| 0092 | [反转链表 II](/solution/0000-0099/0092.Reverse%20Linked%20List%20II/README.md) | `链表` | 中等 | |
| 0093 | [复原 IP 地址](/solution/0000-0099/0093.Restore%20IP%20Addresses/README.md) | `字符串`,`回溯` | 中等 | |
| 0094 | [二叉树的中序遍历](/solution/0000-0099/0094.Binary%20Tree%20Inorder%20Traversal/README.md) | `栈`,`树`,`深度优先搜索`,`二叉树` | 简单 | |
| 0095 | [不同的二叉搜索树 II](/solution/0000-0099/0095.Unique%20Binary%20Search%20Trees%20II/README.md) | `树`,`二叉搜索树`,`动态规划`,`回溯`,`二叉树` | 中等 | |
@@ -148,7 +147,7 @@
| 0135 | [分发糖果](/solution/0100-0199/0135.Candy/README.md) | `贪心`,`数组` | 困难 | |
| 0136 | [只出现一次的数字](/solution/0100-0199/0136.Single%20Number/README.md) | `位运算`,`数组` | 简单 | |
| 0137 | [只出现一次的数字 II](/solution/0100-0199/0137.Single%20Number%20II/README.md) | `位运算`,`数组` | 中等 | |
-| 0138 | [复制带随机指针的链表](/solution/0100-0199/0138.Copy%20List%20with%20Random%20Pointer/README.md) | `哈希表`,`链表` | 中等 | |
+| 0138 | [随机链表的复制](/solution/0100-0199/0138.Copy%20List%20with%20Random%20Pointer/README.md) | `哈希表`,`链表` | 中等 | |
| 0139 | [单词拆分](/solution/0100-0199/0139.Word%20Break/README.md) | `字典树`,`记忆化搜索`,`数组`,`哈希表`,`字符串`,`动态规划` | 中等 | |
| 0140 | [单词拆分 II](/solution/0100-0199/0140.Word%20Break%20II/README.md) | `字典树`,`记忆化搜索`,`数组`,`哈希表`,`字符串`,`动态规划`,`回溯` | 困难 | |
| 0141 | [环形链表](/solution/0100-0199/0141.Linked%20List%20Cycle/README.md) | `哈希表`,`链表`,`双指针` | 简单 | |
@@ -167,14 +166,14 @@
| 0154 | [寻找旋转排序数组中的最小值 II](/solution/0100-0199/0154.Find%20Minimum%20in%20Rotated%20Sorted%20Array%20II/README.md) | `数组`,`二分查找` | 困难 | |
| 0155 | [最小栈](/solution/0100-0199/0155.Min%20Stack/README.md) | `栈`,`设计` | 中等 | |
| 0156 | [上下翻转二叉树](/solution/0100-0199/0156.Binary%20Tree%20Upside%20Down/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 🔒 |
-| 0157 | [用 Read4 读取 N 个字符](/solution/0100-0199/0157.Read%20N%20Characters%20Given%20Read4/README.md) | `字符串`,`交互`,`模拟` | 简单 | 🔒 |
-| 0158 | [用 Read4 读取 N 个字符 II](/solution/0100-0199/0158.Read%20N%20Characters%20Given%20read4%20II%20-%20Call%20Multiple%20Times/README.md) | `字符串`,`交互`,`模拟` | 困难 | 🔒 |
+| 0157 | [用 Read4 读取 N 个字符](/solution/0100-0199/0157.Read%20N%20Characters%20Given%20Read4/README.md) | `数组`,`交互`,`模拟` | 简单 | 🔒 |
+| 0158 | [用 Read4 读取 N 个字符 II - 多次调用](/solution/0100-0199/0158.Read%20N%20Characters%20Given%20read4%20II%20-%20Call%20Multiple%20Times/README.md) | `数组`,`交互`,`模拟` | 困难 | 🔒 |
| 0159 | [至多包含两个不同字符的最长子串](/solution/0100-0199/0159.Longest%20Substring%20with%20At%20Most%20Two%20Distinct%20Characters/README.md) | `哈希表`,`字符串`,`滑动窗口` | 中等 | 🔒 |
| 0160 | [相交链表](/solution/0100-0199/0160.Intersection%20of%20Two%20Linked%20Lists/README.md) | `哈希表`,`链表`,`双指针` | 简单 | |
| 0161 | [相隔为 1 的编辑距离](/solution/0100-0199/0161.One%20Edit%20Distance/README.md) | `双指针`,`字符串` | 中等 | 🔒 |
| 0162 | [寻找峰值](/solution/0100-0199/0162.Find%20Peak%20Element/README.md) | `数组`,`二分查找` | 中等 | |
| 0163 | [缺失的区间](/solution/0100-0199/0163.Missing%20Ranges/README.md) | `数组` | 简单 | 🔒 |
-| 0164 | [最大间距](/solution/0100-0199/0164.Maximum%20Gap/README.md) | `数组`,`桶排序`,`基数排序`,`排序` | 困难 | |
+| 0164 | [最大间距](/solution/0100-0199/0164.Maximum%20Gap/README.md) | `数组`,`桶排序`,`基数排序`,`排序` | 中等 | |
| 0165 | [比较版本号](/solution/0100-0199/0165.Compare%20Version%20Numbers/README.md) | `双指针`,`字符串` | 中等 | |
| 0166 | [分数到小数](/solution/0100-0199/0166.Fraction%20to%20Recurring%20Decimal/README.md) | `哈希表`,`数学`,`字符串` | 中等 | |
| 0167 | [两数之和 II - 输入有序数组](/solution/0100-0199/0167.Two%20Sum%20II%20-%20Input%20Array%20Is%20Sorted/README.md) | `数组`,`双指针`,`二分查找` | 中等 | |
@@ -232,7 +231,7 @@
| 0219 | [存在重复元素 II](/solution/0200-0299/0219.Contains%20Duplicate%20II/README.md) | `数组`,`哈希表`,`滑动窗口` | 简单 | |
| 0220 | [存在重复元素 III](/solution/0200-0299/0220.Contains%20Duplicate%20III/README.md) | `数组`,`桶排序`,`有序集合`,`排序`,`滑动窗口` | 困难 | |
| 0221 | [最大正方形](/solution/0200-0299/0221.Maximal%20Square/README.md) | `数组`,`动态规划`,`矩阵` | 中等 | |
-| 0222 | [完全二叉树的节点个数](/solution/0200-0299/0222.Count%20Complete%20Tree%20Nodes/README.md) | `树`,`深度优先搜索`,`二分查找`,`二叉树` | 中等 | |
+| 0222 | [完全二叉树的节点个数](/solution/0200-0299/0222.Count%20Complete%20Tree%20Nodes/README.md) | `位运算`,`树`,`二分查找`,`二叉树` | 简单 | |
| 0223 | [矩形面积](/solution/0200-0299/0223.Rectangle%20Area/README.md) | `几何`,`数学` | 中等 | |
| 0224 | [基本计算器](/solution/0200-0299/0224.Basic%20Calculator/README.md) | `栈`,`递归`,`数学`,`字符串` | 困难 | |
| 0225 | [用队列实现栈](/solution/0200-0299/0225.Implement%20Stack%20using%20Queues/README.md) | `栈`,`设计`,`队列` | 简单 | |
@@ -265,7 +264,7 @@
| 0252 | [会议室](/solution/0200-0299/0252.Meeting%20Rooms/README.md) | `数组`,`排序` | 简单 | 🔒 |
| 0253 | [会议室 II](/solution/0200-0299/0253.Meeting%20Rooms%20II/README.md) | `贪心`,`数组`,`双指针`,`前缀和`,`排序`,`堆(优先队列)` | 中等 | 🔒 |
| 0254 | [因子的组合](/solution/0200-0299/0254.Factor%20Combinations/README.md) | `数组`,`回溯` | 中等 | 🔒 |
-| 0255 | [验证前序遍历序列二叉搜索树](/solution/0200-0299/0255.Verify%20Preorder%20Sequence%20in%20Binary%20Search%20Tree/README.md) | `栈`,`树`,`二叉搜索树`,`递归`,`二叉树`,`单调栈` | 中等 | 🔒 |
+| 0255 | [验证二叉搜索树的前序遍历序列](/solution/0200-0299/0255.Verify%20Preorder%20Sequence%20in%20Binary%20Search%20Tree/README.md) | `栈`,`树`,`二叉搜索树`,`递归`,`二叉树`,`单调栈` | 中等 | 🔒 |
| 0256 | [粉刷房子](/solution/0200-0299/0256.Paint%20House/README.md) | `数组`,`动态规划` | 中等 | 🔒 |
| 0257 | [二叉树的所有路径](/solution/0200-0299/0257.Binary%20Tree%20Paths/README.md) | `树`,`深度优先搜索`,`字符串`,`回溯`,`二叉树` | 简单 | |
| 0258 | [各位相加](/solution/0200-0299/0258.Add%20Digits/README.md) | `数学`,`数论`,`模拟` | 简单 | |
@@ -287,14 +286,14 @@
| 0274 | [H 指数](/solution/0200-0299/0274.H-Index/README.md) | `数组`,`计数排序`,`排序` | 中等 | |
| 0275 | [H 指数 II](/solution/0200-0299/0275.H-Index%20II/README.md) | `数组`,`二分查找` | 中等 | |
| 0276 | [栅栏涂色](/solution/0200-0299/0276.Paint%20Fence/README.md) | `动态规划` | 中等 | 🔒 |
-| 0277 | [搜寻名人](/solution/0200-0299/0277.Find%20the%20Celebrity/README.md) | `贪心`,`图`,`双指针`,`交互` | 中等 | 🔒 |
+| 0277 | [搜寻名人](/solution/0200-0299/0277.Find%20the%20Celebrity/README.md) | `图`,`双指针`,`交互` | 中等 | 🔒 |
| 0278 | [第一个错误的版本](/solution/0200-0299/0278.First%20Bad%20Version/README.md) | `二分查找`,`交互` | 简单 | |
| 0279 | [完全平方数](/solution/0200-0299/0279.Perfect%20Squares/README.md) | `广度优先搜索`,`数学`,`动态规划` | 中等 | |
| 0280 | [摆动排序](/solution/0200-0299/0280.Wiggle%20Sort/README.md) | `贪心`,`数组`,`排序` | 中等 | 🔒 |
| 0281 | [锯齿迭代器](/solution/0200-0299/0281.Zigzag%20Iterator/README.md) | `设计`,`队列`,`数组`,`迭代器` | 中等 | 🔒 |
| 0282 | [给表达式添加运算符](/solution/0200-0299/0282.Expression%20Add%20Operators/README.md) | `数学`,`字符串`,`回溯` | 困难 | |
| 0283 | [移动零](/solution/0200-0299/0283.Move%20Zeroes/README.md) | `数组`,`双指针` | 简单 | |
-| 0284 | [顶端迭代器](/solution/0200-0299/0284.Peeking%20Iterator/README.md) | `设计`,`数组`,`迭代器` | 中等 | |
+| 0284 | [窥视迭代器](/solution/0200-0299/0284.Peeking%20Iterator/README.md) | `设计`,`数组`,`迭代器` | 中等 | |
| 0285 | [二叉搜索树中的中序后继](/solution/0200-0299/0285.Inorder%20Successor%20in%20BST/README.md) | `树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 中等 | 🔒 |
| 0286 | [墙与门](/solution/0200-0299/0286.Walls%20and%20Gates/README.md) | `广度优先搜索`,`数组`,`矩阵` | 中等 | 🔒 |
| 0287 | [寻找重复数](/solution/0200-0299/0287.Find%20the%20Duplicate%20Number/README.md) | `位运算`,`数组`,`双指针`,`二分查找` | 中等 | |
@@ -349,7 +348,7 @@
| 0336 | [回文对](/solution/0300-0399/0336.Palindrome%20Pairs/README.md) | `字典树`,`数组`,`哈希表`,`字符串` | 困难 | |
| 0337 | [打家劫舍 III](/solution/0300-0399/0337.House%20Robber%20III/README.md) | `树`,`深度优先搜索`,`动态规划`,`二叉树` | 中等 | |
| 0338 | [比特位计数](/solution/0300-0399/0338.Counting%20Bits/README.md) | `位运算`,`动态规划` | 简单 | |
-| 0339 | [嵌套列表权重和](/solution/0300-0399/0339.Nested%20List%20Weight%20Sum/README.md) | `深度优先搜索`,`广度优先搜索` | 中等 | 🔒 |
+| 0339 | [嵌套列表加权和](/solution/0300-0399/0339.Nested%20List%20Weight%20Sum/README.md) | `深度优先搜索`,`广度优先搜索` | 中等 | 🔒 |
| 0340 | [至多包含 K 个不同字符的最长子串](/solution/0300-0399/0340.Longest%20Substring%20with%20At%20Most%20K%20Distinct%20Characters/README.md) | `哈希表`,`字符串`,`滑动窗口` | 中等 | 🔒 |
| 0341 | [扁平化嵌套列表迭代器](/solution/0300-0399/0341.Flatten%20Nested%20List%20Iterator/README.md) | `栈`,`树`,`深度优先搜索`,`设计`,`队列`,`迭代器` | 中等 | |
| 0342 | [4的幂](/solution/0300-0399/0342.Power%20of%20Four/README.md) | `位运算`,`递归`,`数学` | 简单 | |
@@ -358,27 +357,24 @@
| 0345 | [反转字符串中的元音字母](/solution/0300-0399/0345.Reverse%20Vowels%20of%20a%20String/README.md) | `双指针`,`字符串` | 简单 | |
| 0346 | [数据流中的移动平均值](/solution/0300-0399/0346.Moving%20Average%20from%20Data%20Stream/README.md) | `设计`,`队列`,`数组`,`数据流` | 简单 | 🔒 |
| 0347 | [前 K 个高频元素](/solution/0300-0399/0347.Top%20K%20Frequent%20Elements/README.md) | `数组`,`哈希表`,`分治`,`桶排序`,`计数`,`快速选择`,`排序`,`堆(优先队列)` | 中等 | |
-| 0348 | [设计井字棋](/solution/0300-0399/0348.Design%20Tic-Tac-Toe/README.md) | `设计`,`数组`,`哈希表`,`矩阵` | 中等 | 🔒 |
+| 0348 | [设计井字棋](/solution/0300-0399/0348.Design%20Tic-Tac-Toe/README.md) | `设计`,`数组`,`哈希表`,`矩阵`,`模拟` | 中等 | 🔒 |
| 0349 | [两个数组的交集](/solution/0300-0399/0349.Intersection%20of%20Two%20Arrays/README.md) | `数组`,`哈希表`,`双指针`,`二分查找`,`排序` | 简单 | |
| 0350 | [两个数组的交集 II](/solution/0300-0399/0350.Intersection%20of%20Two%20Arrays%20II/README.md) | `数组`,`哈希表`,`双指针`,`二分查找`,`排序` | 简单 | |
| 0351 | [安卓系统手势解锁](/solution/0300-0399/0351.Android%20Unlock%20Patterns/README.md) | `动态规划`,`回溯` | 中等 | 🔒 |
| 0352 | [将数据流变为多个不相交区间](/solution/0300-0399/0352.Data%20Stream%20as%20Disjoint%20Intervals/README.md) | `设计`,`二分查找`,`有序集合` | 困难 | |
-| 0353 | [贪吃蛇](/solution/0300-0399/0353.Design%20Snake%20Game/README.md) | `设计`,`队列`,`数组`,`矩阵` | 中等 | 🔒 |
+| 0353 | [贪吃蛇](/solution/0300-0399/0353.Design%20Snake%20Game/README.md) | `设计`,`队列`,`数组`,`哈希表`,`模拟` | 中等 | 🔒 |
| 0354 | [俄罗斯套娃信封问题](/solution/0300-0399/0354.Russian%20Doll%20Envelopes/README.md) | `数组`,`二分查找`,`动态规划`,`排序` | 困难 | |
| 0355 | [设计推特](/solution/0300-0399/0355.Design%20Twitter/README.md) | `设计`,`哈希表`,`链表`,`堆(优先队列)` | 中等 | |
| 0356 | [直线镜像](/solution/0300-0399/0356.Line%20Reflection/README.md) | `数组`,`哈希表`,`数学` | 中等 | 🔒 |
| 0357 | [统计各位数字都不同的数字个数](/solution/0300-0399/0357.Count%20Numbers%20with%20Unique%20Digits/README.md) | `数学`,`动态规划`,`回溯` | 中等 | |
| 0358 | [K 距离间隔重排字符串](/solution/0300-0399/0358.Rearrange%20String%20k%20Distance%20Apart/README.md) | `贪心`,`哈希表`,`字符串`,`计数`,`排序`,`堆(优先队列)` | 困难 | 🔒 |
-| 0359 | [日志速率限制器](/solution/0300-0399/0359.Logger%20Rate%20Limiter/README.md) | `设计`,`哈希表` | 简单 | 🔒 |
| 0360 | [有序转化数组](/solution/0300-0399/0360.Sort%20Transformed%20Array/README.md) | `数组`,`数学`,`双指针`,`排序` | 中等 | 🔒 |
| 0361 | [轰炸敌人](/solution/0300-0399/0361.Bomb%20Enemy/README.md) | `数组`,`动态规划`,`矩阵` | 中等 | 🔒 |
| 0362 | [敲击计数器](/solution/0300-0399/0362.Design%20Hit%20Counter/README.md) | `设计`,`队列`,`数组`,`哈希表`,`二分查找` | 中等 | 🔒 |
| 0363 | [矩形区域不超过 K 的最大数值和](/solution/0300-0399/0363.Max%20Sum%20of%20Rectangle%20No%20Larger%20Than%20K/README.md) | `数组`,`二分查找`,`矩阵`,`有序集合`,`前缀和` | 困难 | |
-| 0364 | [加权嵌套序列和 II](/solution/0300-0399/0364.Nested%20List%20Weight%20Sum%20II/README.md) | `栈`,`深度优先搜索`,`广度优先搜索` | 中等 | 🔒 |
+| 0364 | [嵌套列表加权和 II](/solution/0300-0399/0364.Nested%20List%20Weight%20Sum%20II/README.md) | `栈`,`深度优先搜索`,`广度优先搜索` | 中等 | 🔒 |
| 0365 | [水壶问题](/solution/0300-0399/0365.Water%20and%20Jug%20Problem/README.md) | `深度优先搜索`,`广度优先搜索`,`数学` | 中等 | |
| 0366 | [寻找二叉树的叶子节点](/solution/0300-0399/0366.Find%20Leaves%20of%20Binary%20Tree/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 🔒 |
-| 0367 | [有效的完全平方数](/solution/0300-0399/0367.Valid%20Perfect%20Square/README.md) | `数学`,`二分查找` | 简单 | |
-| 0368 | [最大整除子集](/solution/0300-0399/0368.Largest%20Divisible%20Subset/README.md) | `数组`,`数学`,`动态规划`,`排序` | 中等 | |
| 0369 | [给单链表加一](/solution/0300-0399/0369.Plus%20One%20Linked%20List/README.md) | `链表`,`数学` | 中等 | 🔒 |
| 0370 | [区间加法](/solution/0300-0399/0370.Range%20Addition/README.md) | `数组`,`前缀和` | 中等 | 🔒 |
| 0371 | [两整数之和](/solution/0300-0399/0371.Sum%20of%20Two%20Integers/README.md) | `位运算`,`数学` | 中等 | |
@@ -500,8 +496,8 @@
| 0487 | [最大连续1的个数 II](/solution/0400-0499/0487.Max%20Consecutive%20Ones%20II/README.md) | `数组`,`动态规划`,`滑动窗口` | 中等 | 🔒 |
| 0488 | [祖玛游戏](/solution/0400-0499/0488.Zuma%20Game/README.md) | `栈`,`广度优先搜索`,`记忆化搜索`,`字符串`,`动态规划` | 困难 | |
| 0489 | [扫地机器人](/solution/0400-0499/0489.Robot%20Room%20Cleaner/README.md) | `回溯`,`交互` | 困难 | 🔒 |
-| 0490 | [迷宫](/solution/0400-0499/0490.The%20Maze/README.md) | `深度优先搜索`,`广度优先搜索`,`图` | 中等 | 🔒 |
-| 0491 | [递增子序列](/solution/0400-0499/0491.Non-decreasing%20Subsequences/README.md) | `位运算`,`数组`,`哈希表`,`回溯` | 中等 | |
+| 0490 | [迷宫](/solution/0400-0499/0490.The%20Maze/README.md) | `深度优先搜索`,`广度优先搜索`,`数组`,`矩阵` | 中等 | 🔒 |
+| 0491 | [非递减子序列](/solution/0400-0499/0491.Non-decreasing%20Subsequences/README.md) | `位运算`,`数组`,`哈希表`,`回溯` | 中等 | |
| 0492 | [构造矩形](/solution/0400-0499/0492.Construct%20the%20Rectangle/README.md) | `数学` | 简单 | |
| 0493 | [翻转对](/solution/0400-0499/0493.Reverse%20Pairs/README.md) | `树状数组`,`线段树`,`数组`,`二分查找`,`分治`,`有序集合`,`归并排序` | 困难 | |
| 0494 | [目标和](/solution/0400-0499/0494.Target%20Sum/README.md) | `数组`,`动态规划`,`回溯` | 中等 | |
@@ -509,13 +505,13 @@
| 0496 | [下一个更大元素 I](/solution/0400-0499/0496.Next%20Greater%20Element%20I/README.md) | `栈`,`数组`,`哈希表`,`单调栈` | 简单 | |
| 0497 | [非重叠矩形中的随机点](/solution/0400-0499/0497.Random%20Point%20in%20Non-overlapping%20Rectangles/README.md) | `水塘抽样`,`数组`,`数学`,`二分查找`,`有序集合`,`前缀和`,`随机化` | 中等 | |
| 0498 | [对角线遍历](/solution/0400-0499/0498.Diagonal%20Traverse/README.md) | `数组`,`矩阵`,`模拟` | 中等 | |
-| 0499 | [迷宫 III](/solution/0400-0499/0499.The%20Maze%20III/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`最短路`,`堆(优先队列)` | 困难 | 🔒 |
+| 0499 | [迷宫 III](/solution/0400-0499/0499.The%20Maze%20III/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`数组`,`字符串`,`矩阵`,`最短路`,`堆(优先队列)` | 困难 | 🔒 |
| 0500 | [键盘行](/solution/0500-0599/0500.Keyboard%20Row/README.md) | `数组`,`哈希表`,`字符串` | 简单 | |
| 0501 | [二叉搜索树中的众数](/solution/0500-0599/0501.Find%20Mode%20in%20Binary%20Search%20Tree/README.md) | `树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 简单 | |
| 0502 | [IPO](/solution/0500-0599/0502.IPO/README.md) | `贪心`,`数组`,`排序`,`堆(优先队列)` | 困难 | |
| 0503 | [下一个更大元素 II](/solution/0500-0599/0503.Next%20Greater%20Element%20II/README.md) | `栈`,`数组`,`单调栈` | 中等 | |
| 0504 | [七进制数](/solution/0500-0599/0504.Base%207/README.md) | `数学` | 简单 | |
-| 0505 | [迷宫 II](/solution/0500-0599/0505.The%20Maze%20II/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`最短路`,`堆(优先队列)` | 中等 | 🔒 |
+| 0505 | [迷宫 II](/solution/0500-0599/0505.The%20Maze%20II/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`数组`,`矩阵`,`最短路`,`堆(优先队列)` | 中等 | 🔒 |
| 0506 | [相对名次](/solution/0500-0599/0506.Relative%20Ranks/README.md) | `数组`,`排序`,`堆(优先队列)` | 简单 | |
| 0507 | [完美数](/solution/0500-0599/0507.Perfect%20Number/README.md) | `数学` | 简单 | |
| 0508 | [出现次数最多的子树元素和](/solution/0500-0599/0508.Most%20Frequent%20Subtree%20Sum/README.md) | `树`,`深度优先搜索`,`哈希表`,`二叉树` | 中等 | |
@@ -608,7 +604,7 @@
| 0595 | [大的国家](/solution/0500-0599/0595.Big%20Countries/README.md) | `数据库` | 简单 | |
| 0596 | [超过5名学生的课](/solution/0500-0599/0596.Classes%20More%20Than%205%20Students/README.md) | `数据库` | 简单 | |
| 0597 | [好友申请 I:总体通过率](/solution/0500-0599/0597.Friend%20Requests%20I%20Overall%20Acceptance%20Rate/README.md) | `数据库` | 简单 | 🔒 |
-| 0598 | [范围求和 II](/solution/0500-0599/0598.Range%20Addition%20II/README.md) | `数组`,`数学` | 简单 | |
+| 0598 | [区间加法 II](/solution/0500-0599/0598.Range%20Addition%20II/README.md) | `数组`,`数学` | 简单 | |
| 0599 | [两个列表的最小索引总和](/solution/0500-0599/0599.Minimum%20Index%20Sum%20of%20Two%20Lists/README.md) | `数组`,`哈希表`,`字符串` | 简单 | |
| 0600 | [不含连续1的非负整数](/solution/0600-0699/0600.Non-negative%20Integers%20without%20Consecutive%20Ones/README.md) | `动态规划` | 困难 | |
| 0601 | [体育馆的人流量](/solution/0600-0699/0601.Human%20Traffic%20of%20Stadium/README.md) | `数据库` | 困难 | |
@@ -641,7 +637,7 @@
| 0628 | [三个数的最大乘积](/solution/0600-0699/0628.Maximum%20Product%20of%20Three%20Numbers/README.md) | `数组`,`数学`,`排序` | 简单 | |
| 0629 | [K 个逆序对数组](/solution/0600-0699/0629.K%20Inverse%20Pairs%20Array/README.md) | `动态规划` | 困难 | |
| 0630 | [课程表 III](/solution/0600-0699/0630.Course%20Schedule%20III/README.md) | `贪心`,`数组`,`排序`,`堆(优先队列)` | 困难 | |
-| 0631 | [设计 Excel 求和公式](/solution/0600-0699/0631.Design%20Excel%20Sum%20Formula/README.md) | `图`,`设计`,`拓扑排序` | 困难 | 🔒 |
+| 0631 | [设计 Excel 求和公式](/solution/0600-0699/0631.Design%20Excel%20Sum%20Formula/README.md) | `图`,`设计`,`拓扑排序`,`数组`,`矩阵` | 困难 | 🔒 |
| 0632 | [最小区间](/solution/0600-0699/0632.Smallest%20Range%20Covering%20Elements%20from%20K%20Lists/README.md) | `贪心`,`数组`,`哈希表`,`排序`,`滑动窗口`,`堆(优先队列)` | 困难 | |
| 0633 | [平方数之和](/solution/0600-0699/0633.Sum%20of%20Square%20Numbers/README.md) | `数学`,`双指针`,`二分查找` | 中等 | |
| 0634 | [寻找数组的错位排列](/solution/0600-0699/0634.Find%20the%20Derangement%20of%20An%20Array/README.md) | `数学`,`动态规划` | 中等 | 🔒 |
@@ -660,8 +656,8 @@
| 0647 | [回文子串](/solution/0600-0699/0647.Palindromic%20Substrings/README.md) | `字符串`,`动态规划` | 中等 | |
| 0648 | [单词替换](/solution/0600-0699/0648.Replace%20Words/README.md) | `字典树`,`数组`,`哈希表`,`字符串` | 中等 | |
| 0649 | [Dota2 参议院](/solution/0600-0699/0649.Dota2%20Senate/README.md) | `贪心`,`队列`,`字符串` | 中等 | |
-| 0650 | [只有两个键的键盘](/solution/0600-0699/0650.2%20Keys%20Keyboard/README.md) | `数学`,`动态规划` | 中等 | |
-| 0651 | [4键键盘](/solution/0600-0699/0651.4%20Keys%20Keyboard/README.md) | `数学`,`动态规划` | 中等 | 🔒 |
+| 0650 | [两个键的键盘](/solution/0600-0699/0650.2%20Keys%20Keyboard/README.md) | `数学`,`动态规划` | 中等 | |
+| 0651 | [四个键的键盘](/solution/0600-0699/0651.4%20Keys%20Keyboard/README.md) | `数学`,`动态规划` | 中等 | 🔒 |
| 0652 | [寻找重复的子树](/solution/0600-0699/0652.Find%20Duplicate%20Subtrees/README.md) | `树`,`深度优先搜索`,`哈希表`,`二叉树` | 中等 | |
| 0653 | [两数之和 IV - 输入二叉搜索树](/solution/0600-0699/0653.Two%20Sum%20IV%20-%20Input%20is%20a%20BST/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`二叉搜索树`,`哈希表`,`双指针`,`二叉树` | 简单 | |
| 0654 | [最大二叉树](/solution/0600-0699/0654.Maximum%20Binary%20Tree/README.md) | `栈`,`树`,`数组`,`分治`,`二叉树`,`单调栈` | 中等 | |
@@ -676,7 +672,7 @@
| 0663 | [均匀树划分](/solution/0600-0699/0663.Equal%20Tree%20Partition/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 🔒 |
| 0664 | [奇怪的打印机](/solution/0600-0699/0664.Strange%20Printer/README.md) | `字符串`,`动态规划` | 困难 | |
| 0665 | [非递减数列](/solution/0600-0699/0665.Non-decreasing%20Array/README.md) | `数组` | 中等 | |
-| 0666 | [路径总和 IV](/solution/0600-0699/0666.Path%20Sum%20IV/README.md) | `树`,`深度优先搜索`,`数组`,`二叉树` | 中等 | 🔒 |
+| 0666 | [路径总和 IV](/solution/0600-0699/0666.Path%20Sum%20IV/README.md) | `树`,`深度优先搜索`,`数组`,`哈希表`,`二叉树` | 中等 | 🔒 |
| 0667 | [优美的排列 II](/solution/0600-0699/0667.Beautiful%20Arrangement%20II/README.md) | `数组`,`数学` | 中等 | |
| 0668 | [乘法表中第k小的数](/solution/0600-0699/0668.Kth%20Smallest%20Number%20in%20Multiplication%20Table/README.md) | `数学`,`二分查找` | 困难 | |
| 0669 | [修剪二叉搜索树](/solution/0600-0699/0669.Trim%20a%20Binary%20Search%20Tree/README.md) | `树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 中等 | |
@@ -731,7 +727,7 @@
| 0718 | [最长重复子数组](/solution/0700-0799/0718.Maximum%20Length%20of%20Repeated%20Subarray/README.md) | `数组`,`二分查找`,`动态规划`,`滑动窗口`,`哈希函数`,`滚动哈希` | 中等 | |
| 0719 | [找出第 K 小的数对距离](/solution/0700-0799/0719.Find%20K-th%20Smallest%20Pair%20Distance/README.md) | `数组`,`双指针`,`二分查找`,`排序` | 困难 | |
| 0720 | [词典中最长的单词](/solution/0700-0799/0720.Longest%20Word%20in%20Dictionary/README.md) | `字典树`,`数组`,`哈希表`,`字符串`,`排序` | 中等 | |
-| 0721 | [账户合并](/solution/0700-0799/0721.Accounts%20Merge/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`字符串` | 中等 | |
+| 0721 | [账户合并](/solution/0700-0799/0721.Accounts%20Merge/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`哈希表`,`字符串`,`排序` | 中等 | |
| 0722 | [删除注释](/solution/0700-0799/0722.Remove%20Comments/README.md) | `数组`,`字符串` | 中等 | |
| 0723 | [粉碎糖果](/solution/0700-0799/0723.Candy%20Crush/README.md) | `数组`,`双指针`,`矩阵`,`模拟` | 中等 | 🔒 |
| 0724 | [寻找数组的中心下标](/solution/0700-0799/0724.Find%20Pivot%20Index/README.md) | `数组`,`前缀和` | 简单 | |
@@ -745,7 +741,7 @@
| 0732 | [我的日程安排表 III](/solution/0700-0799/0732.My%20Calendar%20III/README.md) | `设计`,`线段树`,`二分查找`,`有序集合` | 困难 | |
| 0733 | [图像渲染](/solution/0700-0799/0733.Flood%20Fill/README.md) | `深度优先搜索`,`广度优先搜索`,`数组`,`矩阵` | 简单 | |
| 0734 | [句子相似性](/solution/0700-0799/0734.Sentence%20Similarity/README.md) | `数组`,`哈希表`,`字符串` | 简单 | 🔒 |
-| 0735 | [行星碰撞](/solution/0700-0799/0735.Asteroid%20Collision/README.md) | `栈`,`数组`,`模拟` | 中等 | |
+| 0735 | [小行星碰撞](/solution/0700-0799/0735.Asteroid%20Collision/README.md) | `栈`,`数组`,`模拟` | 中等 | |
| 0736 | [Lisp 语法解析](/solution/0700-0799/0736.Parse%20Lisp%20Expression/README.md) | `栈`,`递归`,`哈希表`,`字符串` | 困难 | |
| 0737 | [句子相似性 II](/solution/0700-0799/0737.Sentence%20Similarity%20II/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`哈希表`,`字符串` | 中等 | 🔒 |
| 0738 | [单调递增的数字](/solution/0700-0799/0738.Monotone%20Increasing%20Digits/README.md) | `贪心`,`数学` | 中等 | |
@@ -804,7 +800,7 @@
| 0791 | [自定义字符串排序](/solution/0700-0799/0791.Custom%20Sort%20String/README.md) | `哈希表`,`字符串`,`排序` | 中等 | |
| 0792 | [匹配子序列的单词数](/solution/0700-0799/0792.Number%20of%20Matching%20Subsequences/README.md) | `字典树`,`数组`,`哈希表`,`字符串`,`二分查找`,`动态规划`,`排序` | 中等 | |
| 0793 | [阶乘函数后 K 个零](/solution/0700-0799/0793.Preimage%20Size%20of%20Factorial%20Zeroes%20Function/README.md) | `数学`,`二分查找` | 困难 | |
-| 0794 | [有效的井字游戏](/solution/0700-0799/0794.Valid%20Tic-Tac-Toe%20State/README.md) | `数组`,`字符串` | 中等 | |
+| 0794 | [有效的井字游戏](/solution/0700-0799/0794.Valid%20Tic-Tac-Toe%20State/README.md) | `数组`,`矩阵` | 中等 | |
| 0795 | [区间子数组个数](/solution/0700-0799/0795.Number%20of%20Subarrays%20with%20Bounded%20Maximum/README.md) | `数组`,`双指针` | 中等 | |
| 0796 | [旋转字符串](/solution/0700-0799/0796.Rotate%20String/README.md) | `字符串`,`字符串匹配` | 简单 | |
| 0797 | [所有可能的路径](/solution/0700-0799/0797.All%20Paths%20From%20Source%20to%20Target/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`回溯` | 中等 | |
@@ -826,10 +822,10 @@
| 0813 | [最大平均值和的分组](/solution/0800-0899/0813.Largest%20Sum%20of%20Averages/README.md) | `数组`,`动态规划`,`前缀和` | 中等 | |
| 0814 | [二叉树剪枝](/solution/0800-0899/0814.Binary%20Tree%20Pruning/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | |
| 0815 | [公交路线](/solution/0800-0899/0815.Bus%20Routes/README.md) | `广度优先搜索`,`数组`,`哈希表` | 困难 | |
-| 0816 | [模糊坐标](/solution/0800-0899/0816.Ambiguous%20Coordinates/README.md) | `字符串`,`回溯` | 中等 | |
+| 0816 | [模糊坐标](/solution/0800-0899/0816.Ambiguous%20Coordinates/README.md) | `字符串`,`回溯`,`枚举` | 中等 | |
| 0817 | [链表组件](/solution/0800-0899/0817.Linked%20List%20Components/README.md) | `数组`,`哈希表`,`链表` | 中等 | |
| 0818 | [赛车](/solution/0800-0899/0818.Race%20Car/README.md) | `动态规划` | 困难 | |
-| 0819 | [最常见的单词](/solution/0800-0899/0819.Most%20Common%20Word/README.md) | `哈希表`,`字符串`,`计数` | 简单 | |
+| 0819 | [最常见的单词](/solution/0800-0899/0819.Most%20Common%20Word/README.md) | `数组`,`哈希表`,`字符串`,`计数` | 简单 | |
| 0820 | [单词的压缩编码](/solution/0800-0899/0820.Short%20Encoding%20of%20Words/README.md) | `字典树`,`数组`,`哈希表`,`字符串` | 中等 | |
| 0821 | [字符的最短距离](/solution/0800-0899/0821.Shortest%20Distance%20to%20a%20Character/README.md) | `数组`,`双指针`,`字符串` | 简单 | |
| 0822 | [翻转卡片游戏](/solution/0800-0899/0822.Card%20Flipping%20Game/README.md) | `数组`,`哈希表` | 中等 | |
@@ -842,14 +838,14 @@
| 0829 | [连续整数求和](/solution/0800-0899/0829.Consecutive%20Numbers%20Sum/README.md) | `数学`,`枚举` | 困难 | 第 83 场周赛 |
| 0830 | [较大分组的位置](/solution/0800-0899/0830.Positions%20of%20Large%20Groups/README.md) | `字符串` | 简单 | 第 83 场周赛 |
| 0831 | [隐藏个人信息](/solution/0800-0899/0831.Masking%20Personal%20Information/README.md) | `字符串` | 中等 | 第 83 场周赛 |
-| 0832 | [翻转图像](/solution/0800-0899/0832.Flipping%20an%20Image/README.md) | `数组`,`双指针`,`矩阵`,`模拟` | 简单 | 第 84 场周赛 |
+| 0832 | [翻转图像](/solution/0800-0899/0832.Flipping%20an%20Image/README.md) | `位运算`,`数组`,`双指针`,`矩阵`,`模拟` | 简单 | 第 84 场周赛 |
| 0833 | [字符串中的查找与替换](/solution/0800-0899/0833.Find%20And%20Replace%20in%20String/README.md) | `数组`,`字符串`,`排序` | 中等 | 第 84 场周赛 |
| 0834 | [树中距离之和](/solution/0800-0899/0834.Sum%20of%20Distances%20in%20Tree/README.md) | `树`,`深度优先搜索`,`图`,`动态规划` | 困难 | 第 84 场周赛 |
| 0835 | [图像重叠](/solution/0800-0899/0835.Image%20Overlap/README.md) | `数组`,`矩阵` | 中等 | 第 84 场周赛 |
| 0836 | [矩形重叠](/solution/0800-0899/0836.Rectangle%20Overlap/README.md) | `几何`,`数学` | 简单 | 第 85 场周赛 |
| 0837 | [新 21 点](/solution/0800-0899/0837.New%2021%20Game/README.md) | `数学`,`动态规划`,`滑动窗口`,`概率与统计` | 中等 | 第 85 场周赛 |
| 0838 | [推多米诺](/solution/0800-0899/0838.Push%20Dominoes/README.md) | `双指针`,`字符串`,`动态规划` | 中等 | 第 85 场周赛 |
-| 0839 | [相似字符串组](/solution/0800-0899/0839.Similar%20String%20Groups/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`字符串` | 困难 | 第 85 场周赛 |
+| 0839 | [相似字符串组](/solution/0800-0899/0839.Similar%20String%20Groups/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`哈希表`,`字符串` | 困难 | 第 85 场周赛 |
| 0840 | [矩阵中的幻方](/solution/0800-0899/0840.Magic%20Squares%20In%20Grid/README.md) | `数组`,`数学`,`矩阵` | 中等 | 第 86 场周赛 |
| 0841 | [钥匙和房间](/solution/0800-0899/0841.Keys%20and%20Rooms/README.md) | `深度优先搜索`,`广度优先搜索`,`图` | 中等 | 第 86 场周赛 |
| 0842 | [将数组拆分成斐波那契序列](/solution/0800-0899/0842.Split%20Array%20into%20Fibonacci%20Sequence/README.md) | `字符串`,`回溯` | 中等 | 第 86 场周赛 |
@@ -858,7 +854,7 @@
| 0845 | [数组中的最长山脉](/solution/0800-0899/0845.Longest%20Mountain%20in%20Array/README.md) | `数组`,`双指针`,`动态规划`,`枚举` | 中等 | 第 87 场周赛 |
| 0846 | [一手顺子](/solution/0800-0899/0846.Hand%20of%20Straights/README.md) | `贪心`,`数组`,`哈希表`,`排序` | 中等 | 第 87 场周赛 |
| 0847 | [访问所有节点的最短路径](/solution/0800-0899/0847.Shortest%20Path%20Visiting%20All%20Nodes/README.md) | `位运算`,`广度优先搜索`,`图`,`动态规划`,`状态压缩` | 困难 | 第 87 场周赛 |
-| 0848 | [字母移位](/solution/0800-0899/0848.Shifting%20Letters/README.md) | `数组`,`字符串` | 中等 | 第 88 场周赛 |
+| 0848 | [字母移位](/solution/0800-0899/0848.Shifting%20Letters/README.md) | `数组`,`字符串`,`前缀和` | 中等 | 第 88 场周赛 |
| 0849 | [到最近的人的最大距离](/solution/0800-0899/0849.Maximize%20Distance%20to%20Closest%20Person/README.md) | `数组` | 中等 | 第 88 场周赛 |
| 0850 | [矩形面积 II](/solution/0800-0899/0850.Rectangle%20Area%20II/README.md) | `线段树`,`数组`,`有序集合`,`扫描线` | 困难 | 第 88 场周赛 |
| 0851 | [喧闹和富有](/solution/0800-0899/0851.Loud%20and%20Rich/README.md) | `深度优先搜索`,`图`,`拓扑排序`,`数组` | 中等 | 第 88 场周赛 |
@@ -903,7 +899,7 @@
| 0890 | [查找和替换模式](/solution/0800-0899/0890.Find%20and%20Replace%20Pattern/README.md) | `数组`,`哈希表`,`字符串` | 中等 | 第 98 场周赛 |
| 0891 | [子序列宽度之和](/solution/0800-0899/0891.Sum%20of%20Subsequence%20Widths/README.md) | `数组`,`数学`,`排序` | 困难 | 第 98 场周赛 |
| 0892 | [三维形体的表面积](/solution/0800-0899/0892.Surface%20Area%20of%203D%20Shapes/README.md) | `几何`,`数组`,`数学`,`矩阵` | 简单 | 第 99 场周赛 |
-| 0893 | [特殊等价字符串组](/solution/0800-0899/0893.Groups%20of%20Special-Equivalent%20Strings/README.md) | `数组`,`哈希表`,`字符串` | 中等 | 第 99 场周赛 |
+| 0893 | [特殊等价字符串组](/solution/0800-0899/0893.Groups%20of%20Special-Equivalent%20Strings/README.md) | `数组`,`哈希表`,`字符串`,`排序` | 中等 | 第 99 场周赛 |
| 0894 | [所有可能的真二叉树](/solution/0800-0899/0894.All%20Possible%20Full%20Binary%20Trees/README.md) | `树`,`递归`,`记忆化搜索`,`动态规划`,`二叉树` | 中等 | 第 99 场周赛 |
| 0895 | [最大频率栈](/solution/0800-0899/0895.Maximum%20Frequency%20Stack/README.md) | `栈`,`设计`,`哈希表`,`有序集合` | 困难 | 第 99 场周赛 |
| 0896 | [单调数列](/solution/0800-0899/0896.Monotonic%20Array/README.md) | `数组` | 简单 | 第 100 场周赛 |
@@ -934,11 +930,11 @@
| 0921 | [使括号有效的最少添加](/solution/0900-0999/0921.Minimum%20Add%20to%20Make%20Parentheses%20Valid/README.md) | `栈`,`贪心`,`字符串` | 中等 | 第 106 场周赛 |
| 0922 | [按奇偶排序数组 II](/solution/0900-0999/0922.Sort%20Array%20By%20Parity%20II/README.md) | `数组`,`双指针`,`排序` | 简单 | 第 106 场周赛 |
| 0923 | [三数之和的多种可能](/solution/0900-0999/0923.3Sum%20With%20Multiplicity/README.md) | `数组`,`哈希表`,`双指针`,`计数`,`排序` | 中等 | 第 106 场周赛 |
-| 0924 | [尽量减少恶意软件的传播](/solution/0900-0999/0924.Minimize%20Malware%20Spread/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`矩阵` | 困难 | 第 106 场周赛 |
+| 0924 | [尽量减少恶意软件的传播](/solution/0900-0999/0924.Minimize%20Malware%20Spread/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`图`,`哈希表` | 困难 | 第 106 场周赛 |
| 0925 | [长按键入](/solution/0900-0999/0925.Long%20Pressed%20Name/README.md) | `双指针`,`字符串` | 简单 | 第 107 场周赛 |
| 0926 | [将字符串翻转到单调递增](/solution/0900-0999/0926.Flip%20String%20to%20Monotone%20Increasing/README.md) | `字符串`,`动态规划` | 中等 | 第 107 场周赛 |
| 0927 | [三等分](/solution/0900-0999/0927.Three%20Equal%20Parts/README.md) | `数组`,`数学` | 困难 | 第 107 场周赛 |
-| 0928 | [尽量减少恶意软件的传播 II](/solution/0900-0999/0928.Minimize%20Malware%20Spread%20II/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`矩阵` | 困难 | 第 107 场周赛 |
+| 0928 | [尽量减少恶意软件的传播 II](/solution/0900-0999/0928.Minimize%20Malware%20Spread%20II/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`图`,`哈希表` | 困难 | 第 107 场周赛 |
| 0929 | [独特的电子邮件地址](/solution/0900-0999/0929.Unique%20Email%20Addresses/README.md) | `数组`,`哈希表`,`字符串` | 简单 | 第 108 场周赛 |
| 0930 | [和相同的二元子数组](/solution/0900-0999/0930.Binary%20Subarrays%20With%20Sum/README.md) | `数组`,`哈希表`,`前缀和`,`滑动窗口` | 中等 | 第 108 场周赛 |
| 0931 | [下降路径最小和](/solution/0900-0999/0931.Minimum%20Falling%20Path%20Sum/README.md) | `数组`,`动态规划`,`矩阵` | 中等 | 第 108 场周赛 |
@@ -957,19 +953,19 @@
| 0944 | [删列造序](/solution/0900-0999/0944.Delete%20Columns%20to%20Make%20Sorted/README.md) | `数组`,`字符串` | 简单 | 第 111 场周赛 |
| 0945 | [使数组唯一的最小增量](/solution/0900-0999/0945.Minimum%20Increment%20to%20Make%20Array%20Unique/README.md) | `贪心`,`数组`,`计数`,`排序` | 中等 | 第 112 场周赛 |
| 0946 | [验证栈序列](/solution/0900-0999/0946.Validate%20Stack%20Sequences/README.md) | `栈`,`数组`,`模拟` | 中等 | 第 112 场周赛 |
-| 0947 | [移除最多的同行或同列石头](/solution/0900-0999/0947.Most%20Stones%20Removed%20with%20Same%20Row%20or%20Column/README.md) | `深度优先搜索`,`并查集`,`图` | 中等 | 第 112 场周赛 |
+| 0947 | [移除最多的同行或同列石头](/solution/0900-0999/0947.Most%20Stones%20Removed%20with%20Same%20Row%20or%20Column/README.md) | `深度优先搜索`,`并查集`,`图`,`哈希表` | 中等 | 第 112 场周赛 |
| 0948 | [令牌放置](/solution/0900-0999/0948.Bag%20of%20Tokens/README.md) | `贪心`,`数组`,`双指针`,`排序` | 中等 | 第 112 场周赛 |
-| 0949 | [给定数字能组成的最大时间](/solution/0900-0999/0949.Largest%20Time%20for%20Given%20Digits/README.md) | `字符串`,`枚举` | 中等 | 第 113 场周赛 |
+| 0949 | [给定数字能组成的最大时间](/solution/0900-0999/0949.Largest%20Time%20for%20Given%20Digits/README.md) | `数组`,`字符串`,`枚举` | 中等 | 第 113 场周赛 |
| 0950 | [按递增顺序显示卡牌](/solution/0900-0999/0950.Reveal%20Cards%20In%20Increasing%20Order/README.md) | `队列`,`数组`,`排序`,`模拟` | 中等 | 第 113 场周赛 |
| 0951 | [翻转等价二叉树](/solution/0900-0999/0951.Flip%20Equivalent%20Binary%20Trees/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 第 113 场周赛 |
-| 0952 | [按公因数计算最大组件大小](/solution/0900-0999/0952.Largest%20Component%20Size%20by%20Common%20Factor/README.md) | `并查集`,`数组`,`数学`,`数论` | 困难 | 第 113 场周赛 |
+| 0952 | [按公因数计算最大组件大小](/solution/0900-0999/0952.Largest%20Component%20Size%20by%20Common%20Factor/README.md) | `并查集`,`数组`,`哈希表`,`数学`,`数论` | 困难 | 第 113 场周赛 |
| 0953 | [验证外星语词典](/solution/0900-0999/0953.Verifying%20an%20Alien%20Dictionary/README.md) | `数组`,`哈希表`,`字符串` | 简单 | 第 114 场周赛 |
| 0954 | [二倍数对数组](/solution/0900-0999/0954.Array%20of%20Doubled%20Pairs/README.md) | `贪心`,`数组`,`哈希表`,`排序` | 中等 | 第 114 场周赛 |
| 0955 | [删列造序 II](/solution/0900-0999/0955.Delete%20Columns%20to%20Make%20Sorted%20II/README.md) | `贪心`,`数组`,`字符串` | 中等 | 第 114 场周赛 |
| 0956 | [最高的广告牌](/solution/0900-0999/0956.Tallest%20Billboard/README.md) | `数组`,`动态规划` | 困难 | 第 114 场周赛 |
| 0957 | [N 天后的牢房](/solution/0900-0999/0957.Prison%20Cells%20After%20N%20Days/README.md) | `位运算`,`数组`,`哈希表`,`数学` | 中等 | 第 115 场周赛 |
| 0958 | [二叉树的完全性检验](/solution/0900-0999/0958.Check%20Completeness%20of%20a%20Binary%20Tree/README.md) | `树`,`广度优先搜索`,`二叉树` | 中等 | 第 115 场周赛 |
-| 0959 | [由斜杠划分区域](/solution/0900-0999/0959.Regions%20Cut%20By%20Slashes/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`图` | 中等 | 第 115 场周赛 |
+| 0959 | [由斜杠划分区域](/solution/0900-0999/0959.Regions%20Cut%20By%20Slashes/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`哈希表`,`矩阵` | 中等 | 第 115 场周赛 |
| 0960 | [删列造序 III](/solution/0900-0999/0960.Delete%20Columns%20to%20Make%20Sorted%20III/README.md) | `数组`,`字符串`,`动态规划` | 困难 | 第 115 场周赛 |
| 0961 | [在长度 2N 的数组中找出重复 N 次的元素](/solution/0900-0999/0961.N-Repeated%20Element%20in%20Size%202N%20Array/README.md) | `数组`,`哈希表` | 简单 | 第 116 场周赛 |
| 0962 | [最大宽度坡](/solution/0900-0999/0962.Maximum%20Width%20Ramp/README.md) | `栈`,`数组`,`单调栈` | 中等 | 第 116 场周赛 |
@@ -1096,7 +1092,7 @@
| 1083 | [销售分析 II](/solution/1000-1099/1083.Sales%20Analysis%20II/README.md) | `数据库` | 简单 | 🔒 |
| 1084 | [销售分析III](/solution/1000-1099/1084.Sales%20Analysis%20III/README.md) | `数据库` | 简单 | |
| 1085 | [最小元素各数位之和](/solution/1000-1099/1085.Sum%20of%20Digits%20in%20the%20Minimum%20Number/README.md) | `数组`,`数学` | 简单 | 第 2 场双周赛 |
-| 1086 | [前五科的均分](/solution/1000-1099/1086.High%20Five/README.md) | `数组`,`哈希表`,`排序` | 简单 | 第 2 场双周赛 |
+| 1086 | [前五科的均分](/solution/1000-1099/1086.High%20Five/README.md) | `数组`,`哈希表`,`排序`,`堆(优先队列)` | 简单 | 第 2 场双周赛 |
| 1087 | [花括号展开](/solution/1000-1099/1087.Brace%20Expansion/README.md) | `广度优先搜索`,`字符串`,`回溯` | 中等 | 第 2 场双周赛 |
| 1088 | [易混淆数 II](/solution/1000-1099/1088.Confusing%20Number%20II/README.md) | `数学`,`回溯` | 困难 | 第 2 场双周赛 |
| 1089 | [复写零](/solution/1000-1099/1089.Duplicate%20Zeros/README.md) | `数组`,`双指针` | 简单 | 第 141 场周赛 |
@@ -1111,7 +1107,7 @@
| 1098 | [小众书籍](/solution/1000-1099/1098.Unpopular%20Books/README.md) | `数据库` | 中等 | 🔒 |
| 1099 | [小于 K 的两数之和](/solution/1000-1099/1099.Two%20Sum%20Less%20Than%20K/README.md) | `数组`,`双指针`,`二分查找`,`排序` | 简单 | 第 3 场双周赛 |
| 1100 | [长度为 K 的无重复字符子串](/solution/1100-1199/1100.Find%20K-Length%20Substrings%20With%20No%20Repeated%20Characters/README.md) | `哈希表`,`字符串`,`滑动窗口` | 中等 | 第 3 场双周赛 |
-| 1101 | [彼此熟识的最早时间](/solution/1100-1199/1101.The%20Earliest%20Moment%20When%20Everyone%20Become%20Friends/README.md) | `并查集`,`数组` | 中等 | 第 3 场双周赛 |
+| 1101 | [彼此熟识的最早时间](/solution/1100-1199/1101.The%20Earliest%20Moment%20When%20Everyone%20Become%20Friends/README.md) | `并查集`,`数组`,`排序` | 中等 | 第 3 场双周赛 |
| 1102 | [得分最高的路径](/solution/1100-1199/1102.Path%20With%20Maximum%20Minimum%20Value/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`矩阵`,`堆(优先队列)` | 中等 | 第 3 场双周赛 |
| 1103 | [分糖果 II](/solution/1100-1199/1103.Distribute%20Candies%20to%20People/README.md) | `数学`,`模拟` | 简单 | 第 143 场周赛 |
| 1104 | [二叉树寻路](/solution/1100-1199/1104.Path%20In%20Zigzag%20Labelled%20Binary%20Tree/README.md) | `树`,`数学`,`二叉树` | 中等 | 第 143 场周赛 |
@@ -1131,7 +1127,7 @@
| 1118 | [一月有多少天](/solution/1100-1199/1118.Number%20of%20Days%20in%20a%20Month/README.md) | `数学` | 简单 | 第 4 场双周赛 |
| 1119 | [删去字符串中的元音](/solution/1100-1199/1119.Remove%20Vowels%20from%20a%20String/README.md) | `字符串` | 简单 | 第 4 场双周赛 |
| 1120 | [子树的最大平均值](/solution/1100-1199/1120.Maximum%20Average%20Subtree/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 第 4 场双周赛 |
-| 1121 | [将数组分成几个递增序列](/solution/1100-1199/1121.Divide%20Array%20Into%20Increasing%20Sequences/README.md) | `贪心`,`数组` | 困难 | 第 4 场双周赛 |
+| 1121 | [将数组分成几个递增序列](/solution/1100-1199/1121.Divide%20Array%20Into%20Increasing%20Sequences/README.md) | `数组`,`计数` | 困难 | 第 4 场双周赛 |
| 1122 | [数组的相对排序](/solution/1100-1199/1122.Relative%20Sort%20Array/README.md) | `数组`,`哈希表`,`计数排序`,`排序` | 简单 | 第 145 场周赛 |
| 1123 | [最深叶节点的最近公共祖先](/solution/1100-1199/1123.Lowest%20Common%20Ancestor%20of%20Deepest%20Leaves/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`哈希表`,`二叉树` | 中等 | 第 145 场周赛 |
| 1124 | [表现良好的最长时间段](/solution/1100-1199/1124.Longest%20Well-Performing%20Interval/README.md) | `栈`,`数组`,`哈希表`,`前缀和`,`单调栈` | 中等 | 第 145 场周赛 |
@@ -1183,7 +1179,7 @@
| 1170 | [比较字符串最小字母出现频次](/solution/1100-1199/1170.Compare%20Strings%20by%20Frequency%20of%20the%20Smallest%20Character/README.md) | `数组`,`哈希表`,`字符串`,`二分查找`,`排序` | 中等 | 第 151 场周赛 |
| 1171 | [从链表中删去总和值为零的连续节点](/solution/1100-1199/1171.Remove%20Zero%20Sum%20Consecutive%20Nodes%20from%20Linked%20List/README.md) | `哈希表`,`链表` | 中等 | 第 151 场周赛 |
| 1172 | [餐盘栈](/solution/1100-1199/1172.Dinner%20Plate%20Stacks/README.md) | `栈`,`设计`,`哈希表`,`堆(优先队列)` | 困难 | 第 151 场周赛 |
-| 1173 | [即时食物配送 I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README.md) | `数据库` | 简单 | |
+| 1173 | [即时食物配送 I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README.md) | `数据库` | 简单 | 🔒 |
| 1174 | [即时食物配送 II](/solution/1100-1199/1174.Immediate%20Food%20Delivery%20II/README.md) | `数据库` | 中等 | |
| 1175 | [质数排列](/solution/1100-1199/1175.Prime%20Arrangements/README.md) | `数学` | 简单 | 第 152 场周赛 |
| 1176 | [健身计划评估](/solution/1100-1199/1176.Diet%20Plan%20Performance/README.md) | `数组`,`滑动窗口` | 简单 | 第 152 场周赛 |
@@ -1212,10 +1208,10 @@
| 1199 | [建造街区的最短时间](/solution/1100-1199/1199.Minimum%20Time%20to%20Build%20Blocks/README.md) | `贪心`,`数学`,`堆(优先队列)` | 困难 | 第 9 场双周赛 |
| 1200 | [最小绝对差](/solution/1200-1299/1200.Minimum%20Absolute%20Difference/README.md) | `数组`,`排序` | 简单 | 第 155 场周赛 |
| 1201 | [丑数 III](/solution/1200-1299/1201.Ugly%20Number%20III/README.md) | `数学`,`二分查找`,`数论` | 中等 | 第 155 场周赛 |
-| 1202 | [交换字符串中的元素](/solution/1200-1299/1202.Smallest%20String%20With%20Swaps/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`哈希表`,`字符串` | 中等 | 第 155 场周赛 |
+| 1202 | [交换字符串中的元素](/solution/1200-1299/1202.Smallest%20String%20With%20Swaps/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`哈希表`,`字符串`,`排序` | 中等 | 第 155 场周赛 |
| 1203 | [项目管理](/solution/1200-1299/1203.Sort%20Items%20by%20Groups%20Respecting%20Dependencies/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`拓扑排序` | 困难 | 第 155 场周赛 |
| 1204 | [最后一个能进入巴士的人](/solution/1200-1299/1204.Last%20Person%20to%20Fit%20in%20the%20Bus/README.md) | `数据库` | 中等 | |
-| 1205 | [每月交易II](/solution/1200-1299/1205.Monthly%20Transactions%20II/README.md) | `数据库` | 中等 | 🔒 |
+| 1205 | [每月交易 II](/solution/1200-1299/1205.Monthly%20Transactions%20II/README.md) | `数据库` | 中等 | 🔒 |
| 1206 | [设计跳表](/solution/1200-1299/1206.Design%20Skiplist/README.md) | `设计`,`链表` | 困难 | |
| 1207 | [独一无二的出现次数](/solution/1200-1299/1207.Unique%20Number%20of%20Occurrences/README.md) | `数组`,`哈希表` | 简单 | 第 156 场周赛 |
| 1208 | [尽可能使字符串相等](/solution/1200-1299/1208.Get%20Equal%20Substrings%20Within%20Budget/README.md) | `字符串`,`二分查找`,`前缀和`,`滑动窗口` | 中等 | 第 156 场周赛 |
@@ -1226,7 +1222,7 @@
| 1213 | [三个有序数组的交集](/solution/1200-1299/1213.Intersection%20of%20Three%20Sorted%20Arrays/README.md) | `数组`,`哈希表`,`二分查找`,`计数` | 简单 | 第 10 场双周赛 |
| 1214 | [查找两棵二叉搜索树之和](/solution/1200-1299/1214.Two%20Sum%20BSTs/README.md) | `栈`,`树`,`深度优先搜索`,`二叉搜索树`,`双指针`,`二分查找`,`二叉树` | 中等 | 第 10 场双周赛 |
| 1215 | [步进数](/solution/1200-1299/1215.Stepping%20Numbers/README.md) | `广度优先搜索`,`回溯` | 中等 | 第 10 场双周赛 |
-| 1216 | [验证回文字符串 III](/solution/1200-1299/1216.Valid%20Palindrome%20III/README.md) | `字符串`,`动态规划` | 困难 | 第 10 场双周赛 |
+| 1216 | [验证回文串 III](/solution/1200-1299/1216.Valid%20Palindrome%20III/README.md) | `字符串`,`动态规划` | 困难 | 第 10 场双周赛 |
| 1217 | [玩筹码](/solution/1200-1299/1217.Minimum%20Cost%20to%20Move%20Chips%20to%20The%20Same%20Position/README.md) | `贪心`,`数组`,`数学` | 简单 | 第 157 场周赛 |
| 1218 | [最长定差子序列](/solution/1200-1299/1218.Longest%20Arithmetic%20Subsequence%20of%20Given%20Difference/README.md) | `数组`,`哈希表`,`动态规划` | 中等 | 第 157 场周赛 |
| 1219 | [黄金矿工](/solution/1200-1299/1219.Path%20with%20Maximum%20Gold/README.md) | `数组`,`回溯`,`矩阵` | 中等 | 第 157 场周赛 |
@@ -1280,7 +1276,7 @@
| 1267 | [统计参与通信的服务器](/solution/1200-1299/1267.Count%20Servers%20that%20Communicate/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`计数`,`矩阵` | 中等 | 第 164 场周赛 |
| 1268 | [搜索推荐系统](/solution/1200-1299/1268.Search%20Suggestions%20System/README.md) | `字典树`,`数组`,`字符串`,`二分查找`,`排序`,`堆(优先队列)` | 中等 | 第 164 场周赛 |
| 1269 | [停在原地的方案数](/solution/1200-1299/1269.Number%20of%20Ways%20to%20Stay%20in%20the%20Same%20Place%20After%20Some%20Steps/README.md) | `动态规划` | 困难 | 第 164 场周赛 |
-| 1270 | [向公司CEO汇报工作的所有人](/solution/1200-1299/1270.All%20People%20Report%20to%20the%20Given%20Manager/README.md) | `数据库` | 中等 | 🔒 |
+| 1270 | [向公司 CEO 汇报工作的所有人](/solution/1200-1299/1270.All%20People%20Report%20to%20the%20Given%20Manager/README.md) | `数据库` | 中等 | 🔒 |
| 1271 | [十六进制魔术数字](/solution/1200-1299/1271.Hexspeak/README.md) | `数学`,`字符串` | 简单 | 第 14 场双周赛 |
| 1272 | [删除区间](/solution/1200-1299/1272.Remove%20Interval/README.md) | `数组` | 中等 | 第 14 场双周赛 |
| 1273 | [删除树节点](/solution/1200-1299/1273.Delete%20Tree%20Nodes/README.md) | `树`,`深度优先搜索`,`广度优先搜索` | 中等 | 第 14 场双周赛 |
@@ -1294,7 +1290,7 @@
| 1281 | [整数的各位积和之差](/solution/1200-1299/1281.Subtract%20the%20Product%20and%20Sum%20of%20Digits%20of%20an%20Integer/README.md) | `数学` | 简单 | 第 166 场周赛 |
| 1282 | [用户分组](/solution/1200-1299/1282.Group%20the%20People%20Given%20the%20Group%20Size%20They%20Belong%20To/README.md) | `数组`,`哈希表` | 中等 | 第 166 场周赛 |
| 1283 | [使结果不超过阈值的最小除数](/solution/1200-1299/1283.Find%20the%20Smallest%20Divisor%20Given%20a%20Threshold/README.md) | `数组`,`二分查找` | 中等 | 第 166 场周赛 |
-| 1284 | [转化为全零矩阵的最少反转次数](/solution/1200-1299/1284.Minimum%20Number%20of%20Flips%20to%20Convert%20Binary%20Matrix%20to%20Zero%20Matrix/README.md) | `位运算`,`广度优先搜索`,`数组`,`矩阵` | 困难 | 第 166 场周赛 |
+| 1284 | [转化为全零矩阵的最少反转次数](/solution/1200-1299/1284.Minimum%20Number%20of%20Flips%20to%20Convert%20Binary%20Matrix%20to%20Zero%20Matrix/README.md) | `位运算`,`广度优先搜索`,`数组`,`哈希表`,`矩阵` | 困难 | 第 166 场周赛 |
| 1285 | [找到连续区间的开始和结束数字](/solution/1200-1299/1285.Find%20the%20Start%20and%20End%20Number%20of%20Continuous%20Ranges/README.md) | `数据库` | 中等 | 🔒 |
| 1286 | [字母组合迭代器](/solution/1200-1299/1286.Iterator%20for%20Combination/README.md) | `设计`,`字符串`,`回溯`,`迭代器` | 中等 | 第 15 场双周赛 |
| 1287 | [有序数组中出现次数超过25%的元素](/solution/1200-1299/1287.Element%20Appearing%20More%20Than%2025%25%20In%20Sorted%20Array/README.md) | `数组` | 简单 | 第 15 场双周赛 |
@@ -1446,7 +1442,7 @@
| 1433 | [检查一个字符串是否可以打破另一个字符串](/solution/1400-1499/1433.Check%20If%20a%20String%20Can%20Break%20Another%20String/README.md) | `贪心`,`字符串`,`排序` | 中等 | 第 25 场双周赛 |
| 1434 | [每个人戴不同帽子的方案数](/solution/1400-1499/1434.Number%20of%20Ways%20to%20Wear%20Different%20Hats%20to%20Each%20Other/README.md) | `位运算`,`数组`,`动态规划`,`状态压缩` | 困难 | 第 25 场双周赛 |
| 1435 | [制作会话柱状图](/solution/1400-1499/1435.Create%20a%20Session%20Bar%20Chart/README.md) | `数据库` | 简单 | 🔒 |
-| 1436 | [旅行终点站](/solution/1400-1499/1436.Destination%20City/README.md) | `哈希表`,`字符串` | 简单 | 第 187 场周赛 |
+| 1436 | [旅行终点站](/solution/1400-1499/1436.Destination%20City/README.md) | `数组`,`哈希表`,`字符串` | 简单 | 第 187 场周赛 |
| 1437 | [是否所有 1 都至少相隔 k 个元素](/solution/1400-1499/1437.Check%20If%20All%201%27s%20Are%20at%20Least%20Length%20K%20Places%20Away/README.md) | `数组` | 简单 | 第 187 场周赛 |
| 1438 | [绝对差不超过限制的最长连续子数组](/solution/1400-1499/1438.Longest%20Continuous%20Subarray%20With%20Absolute%20Diff%20Less%20Than%20or%20Equal%20to%20Limit/README.md) | `队列`,`数组`,`有序集合`,`滑动窗口`,`单调队列`,`堆(优先队列)` | 中等 | 第 187 场周赛 |
| 1439 | [有序矩阵中的第 k 个最小数组和](/solution/1400-1499/1439.Find%20the%20Kth%20Smallest%20Sum%20of%20a%20Matrix%20With%20Sorted%20Rows/README.md) | `数组`,`二分查找`,`矩阵`,`堆(优先队列)` | 困难 | 第 187 场周赛 |
@@ -1493,7 +1489,7 @@
| 1480 | [一维数组的动态和](/solution/1400-1499/1480.Running%20Sum%20of%201d%20Array/README.md) | `数组`,`前缀和` | 简单 | 第 193 场周赛 |
| 1481 | [不同整数的最少数目](/solution/1400-1499/1481.Least%20Number%20of%20Unique%20Integers%20after%20K%20Removals/README.md) | `贪心`,`数组`,`哈希表`,`计数`,`排序` | 中等 | 第 193 场周赛 |
| 1482 | [制作 m 束花所需的最少天数](/solution/1400-1499/1482.Minimum%20Number%20of%20Days%20to%20Make%20m%20Bouquets/README.md) | `数组`,`二分查找` | 中等 | 第 193 场周赛 |
-| 1483 | [树节点的第 K 个祖先](/solution/1400-1499/1483.Kth%20Ancestor%20of%20a%20Tree%20Node/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`设计`,`二分查找` | 困难 | 第 193 场周赛 |
+| 1483 | [树节点的第 K 个祖先](/solution/1400-1499/1483.Kth%20Ancestor%20of%20a%20Tree%20Node/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`设计`,`二分查找`,`动态规划` | 困难 | 第 193 场周赛 |
| 1484 | [按日期分组销售产品](/solution/1400-1499/1484.Group%20Sold%20Products%20By%20The%20Date/README.md) | `数据库` | 简单 | |
| 1485 | [克隆含随机指针的二叉树](/solution/1400-1499/1485.Clone%20Binary%20Tree%20With%20Random%20Pointer/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`哈希表`,`二叉树` | 中等 | 🔒 |
| 1486 | [数组异或操作](/solution/1400-1499/1486.XOR%20Operation%20in%20an%20Array/README.md) | `位运算`,`数学` | 简单 | 第 194 场周赛 |
@@ -1637,12 +1633,12 @@
| 1624 | [两个相同字符之间的最长子字符串](/solution/1600-1699/1624.Largest%20Substring%20Between%20Two%20Equal%20Characters/README.md) | `哈希表`,`字符串` | 简单 | 第 211 场周赛 |
| 1625 | [执行操作后字典序最小的字符串](/solution/1600-1699/1625.Lexicographically%20Smallest%20String%20After%20Applying%20Operations/README.md) | `广度优先搜索`,`字符串` | 中等 | 第 211 场周赛 |
| 1626 | [无矛盾的最佳球队](/solution/1600-1699/1626.Best%20Team%20With%20No%20Conflicts/README.md) | `数组`,`动态规划`,`排序` | 中等 | 第 211 场周赛 |
-| 1627 | [带阈值的图连通性](/solution/1600-1699/1627.Graph%20Connectivity%20With%20Threshold/README.md) | `并查集`,`数组`,`数学` | 困难 | 第 211 场周赛 |
+| 1627 | [带阈值的图连通性](/solution/1600-1699/1627.Graph%20Connectivity%20With%20Threshold/README.md) | `并查集`,`数组`,`数学`,`数论` | 困难 | 第 211 场周赛 |
| 1628 | [设计带解析函数的表达式树](/solution/1600-1699/1628.Design%20an%20Expression%20Tree%20With%20Evaluate%20Function/README.md) | `栈`,`树`,`设计`,`数学`,`二叉树` | 中等 | 🔒 |
| 1629 | [按键持续时间最长的键](/solution/1600-1699/1629.Slowest%20Key/README.md) | `数组`,`字符串` | 简单 | 第 212 场周赛 |
| 1630 | [等差子数组](/solution/1600-1699/1630.Arithmetic%20Subarrays/README.md) | `数组`,`排序` | 中等 | 第 212 场周赛 |
| 1631 | [最小体力消耗路径](/solution/1600-1699/1631.Path%20With%20Minimum%20Effort/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`二分查找`,`矩阵`,`堆(优先队列)` | 中等 | 第 212 场周赛 |
-| 1632 | [矩阵转换后的秩](/solution/1600-1699/1632.Rank%20Transform%20of%20a%20Matrix/README.md) | `贪心`,`并查集`,`图`,`拓扑排序`,`数组`,`矩阵` | 困难 | 第 212 场周赛 |
+| 1632 | [矩阵转换后的秩](/solution/1600-1699/1632.Rank%20Transform%20of%20a%20Matrix/README.md) | `并查集`,`图`,`拓扑排序`,`数组`,`矩阵`,`排序` | 困难 | 第 212 场周赛 |
| 1633 | [各赛事的用户注册率](/solution/1600-1699/1633.Percentage%20of%20Users%20Attended%20a%20Contest/README.md) | `数据库` | 简单 | |
| 1634 | [求两个多项式链表的和](/solution/1600-1699/1634.Add%20Two%20Polynomials%20Represented%20as%20Linked%20Lists/README.md) | `链表`,`数学`,`双指针` | 中等 | 🔒 |
| 1635 | [Hopper 公司查询 I](/solution/1600-1699/1635.Hopper%20Company%20Queries%20I/README.md) | `数据库` | 困难 | 🔒 |
@@ -1655,12 +1651,12 @@
| 1642 | [可以到达的最远建筑](/solution/1600-1699/1642.Furthest%20Building%20You%20Can%20Reach/README.md) | `贪心`,`数组`,`堆(优先队列)` | 中等 | 第 213 场周赛 |
| 1643 | [第 K 条最小指令](/solution/1600-1699/1643.Kth%20Smallest%20Instructions/README.md) | `数组`,`数学`,`动态规划`,`组合数学` | 困难 | 第 213 场周赛 |
| 1644 | [二叉树的最近公共祖先 II](/solution/1600-1699/1644.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20II/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 🔒 |
-| 1645 | [1645.Hopper 公司查询 II](/solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md) | `数据库` | 困难 | 🔒 |
+| 1645 | [Hopper 公司查询 II](/solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md) | `数据库` | 困难 | 🔒 |
| 1646 | [获取生成数组中的最大值](/solution/1600-1699/1646.Get%20Maximum%20in%20Generated%20Array/README.md) | `数组`,`动态规划`,`模拟` | 简单 | 第 214 场周赛 |
| 1647 | [字符频次唯一的最小删除次数](/solution/1600-1699/1647.Minimum%20Deletions%20to%20Make%20Character%20Frequencies%20Unique/README.md) | `贪心`,`哈希表`,`字符串`,`排序` | 中等 | 第 214 场周赛 |
| 1648 | [销售价值减少的颜色球](/solution/1600-1699/1648.Sell%20Diminishing-Valued%20Colored%20Balls/README.md) | `贪心`,`数组`,`数学`,`二分查找`,`排序`,`堆(优先队列)` | 中等 | 第 214 场周赛 |
| 1649 | [通过指令创建有序数组](/solution/1600-1699/1649.Create%20Sorted%20Array%20through%20Instructions/README.md) | `树状数组`,`线段树`,`数组`,`二分查找`,`分治`,`有序集合`,`归并排序` | 困难 | 第 214 场周赛 |
-| 1650 | [二叉树的最近公共祖先 III](/solution/1600-1699/1650.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20III/README.md) | `树`,`哈希表`,`二叉树` | 中等 | 🔒 |
+| 1650 | [二叉树的最近公共祖先 III](/solution/1600-1699/1650.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20III/README.md) | `树`,`哈希表`,`双指针`,`二叉树` | 中等 | 🔒 |
| 1651 | [Hopper 公司查询 III](/solution/1600-1699/1651.Hopper%20Company%20Queries%20III/README.md) | `数据库` | 困难 | 🔒 |
| 1652 | [拆炸弹](/solution/1600-1699/1652.Defuse%20the%20Bomb/README.md) | `数组` | 简单 | 第 39 场双周赛 |
| 1653 | [使字符串平衡的最少删除次数](/solution/1600-1699/1653.Minimum%20Deletions%20to%20Make%20String%20Balanced/README.md) | `栈`,`字符串`,`动态规划` | 中等 | 第 39 场双周赛 |
@@ -1686,7 +1682,7 @@
| 1673 | [找出最具竞争力的子序列](/solution/1600-1699/1673.Find%20the%20Most%20Competitive%20Subsequence/README.md) | `栈`,`贪心`,`数组`,`单调栈` | 中等 | 第 217 场周赛 |
| 1674 | [使数组互补的最少操作次数](/solution/1600-1699/1674.Minimum%20Moves%20to%20Make%20Array%20Complementary/README.md) | `数组`,`哈希表`,`前缀和` | 中等 | 第 217 场周赛 |
| 1675 | [数组的最小偏移量](/solution/1600-1699/1675.Minimize%20Deviation%20in%20Array/README.md) | `贪心`,`数组`,`有序集合`,`堆(优先队列)` | 困难 | 第 217 场周赛 |
-| 1676 | [二叉树的最近公共祖先 IV](/solution/1600-1699/1676.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20IV/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 🔒 |
+| 1676 | [二叉树的最近公共祖先 IV](/solution/1600-1699/1676.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20IV/README.md) | `树`,`深度优先搜索`,`哈希表`,`二叉树` | 中等 | 🔒 |
| 1677 | [发票中的产品金额](/solution/1600-1699/1677.Product%27s%20Worth%20Over%20Invoices/README.md) | `数据库` | 简单 | 🔒 |
| 1678 | [设计 Goal 解析器](/solution/1600-1699/1678.Goal%20Parser%20Interpretation/README.md) | `字符串` | 简单 | 第 218 场周赛 |
| 1679 | [K 和数对的最大数目](/solution/1600-1699/1679.Max%20Number%20of%20K-Sum%20Pairs/README.md) | `数组`,`哈希表`,`双指针`,`排序` | 中等 | 第 218 场周赛 |
@@ -1707,7 +1703,7 @@
| 1694 | [重新格式化电话号码](/solution/1600-1699/1694.Reformat%20Phone%20Number/README.md) | `字符串` | 简单 | 第 220 场周赛 |
| 1695 | [删除子数组的最大得分](/solution/1600-1699/1695.Maximum%20Erasure%20Value/README.md) | `数组`,`哈希表`,`滑动窗口` | 中等 | 第 220 场周赛 |
| 1696 | [跳跃游戏 VI](/solution/1600-1699/1696.Jump%20Game%20VI/README.md) | `队列`,`数组`,`动态规划`,`单调队列`,`堆(优先队列)` | 中等 | 第 220 场周赛 |
-| 1697 | [检查边长度限制的路径是否存在](/solution/1600-1699/1697.Checking%20Existence%20of%20Edge%20Length%20Limited%20Paths/README.md) | `并查集`,`图`,`数组`,`排序` | 困难 | 第 220 场周赛 |
+| 1697 | [检查边长度限制的路径是否存在](/solution/1600-1699/1697.Checking%20Existence%20of%20Edge%20Length%20Limited%20Paths/README.md) | `并查集`,`图`,`数组`,`双指针`,`排序` | 困难 | 第 220 场周赛 |
| 1698 | [字符串的不同子字符串个数](/solution/1600-1699/1698.Number%20of%20Distinct%20Substrings%20in%20a%20String/README.md) | `字典树`,`字符串`,`后缀数组`,`哈希函数`,`滚动哈希` | 中等 | 🔒 |
| 1699 | [两人之间的通话次数](/solution/1600-1699/1699.Number%20of%20Calls%20Between%20Two%20Persons/README.md) | `数据库` | 中等 | 🔒 |
| 1700 | [无法吃午餐的学生数量](/solution/1700-1799/1700.Number%20of%20Students%20Unable%20to%20Eat%20Lunch/README.md) | `栈`,`队列`,`数组`,`模拟` | 简单 | 第 42 场双周赛 |
@@ -1895,7 +1891,7 @@
| 1882 | [使用服务器处理任务](/solution/1800-1899/1882.Process%20Tasks%20Using%20Servers/README.md) | `数组`,`堆(优先队列)` | 中等 | 第 243 场周赛 |
| 1883 | [准时抵达会议现场的最小跳过休息次数](/solution/1800-1899/1883.Minimum%20Skips%20to%20Arrive%20at%20Meeting%20On%20Time/README.md) | `数组`,`动态规划` | 困难 | 第 243 场周赛 |
| 1884 | [鸡蛋掉落-两枚鸡蛋](/solution/1800-1899/1884.Egg%20Drop%20With%202%20Eggs%20and%20N%20Floors/README.md) | `数学`,`动态规划` | 中等 | |
-| 1885 | [统计数对](/solution/1800-1899/1885.Count%20Pairs%20in%20Two%20Arrays/README.md) | `数组`,`二分查找`,`排序` | 中等 | 🔒 |
+| 1885 | [统计数对](/solution/1800-1899/1885.Count%20Pairs%20in%20Two%20Arrays/README.md) | `数组`,`双指针`,`二分查找`,`排序` | 中等 | 🔒 |
| 1886 | [判断矩阵经轮转后是否一致](/solution/1800-1899/1886.Determine%20Whether%20Matrix%20Can%20Be%20Obtained%20By%20Rotation/README.md) | `数组`,`矩阵` | 简单 | 第 244 场周赛 |
| 1887 | [使数组元素相等的减少操作次数](/solution/1800-1899/1887.Reduction%20Operations%20to%20Make%20the%20Array%20Elements%20Equal/README.md) | `数组`,`排序` | 中等 | 第 244 场周赛 |
| 1888 | [使二进制字符串字符交替的最少反转次数](/solution/1800-1899/1888.Minimum%20Number%20of%20Flips%20to%20Make%20the%20Binary%20String%20Alternating/README.md) | `贪心`,`字符串`,`动态规划`,`滑动窗口` | 中等 | 第 244 场周赛 |
@@ -1972,7 +1968,7 @@
| 1959 | [K 次调整数组大小浪费的最小总空间](/solution/1900-1999/1959.Minimum%20Total%20Space%20Wasted%20With%20K%20Resizing%20Operations/README.md) | `数组`,`动态规划` | 中等 | 第 58 场双周赛 |
| 1960 | [两个回文子字符串长度的最大乘积](/solution/1900-1999/1960.Maximum%20Product%20of%20the%20Length%20of%20Two%20Palindromic%20Substrings/README.md) | `字符串`,`哈希函数`,`滚动哈希` | 困难 | 第 58 场双周赛 |
| 1961 | [检查字符串是否为数组前缀](/solution/1900-1999/1961.Check%20If%20String%20Is%20a%20Prefix%20of%20Array/README.md) | `数组`,`字符串` | 简单 | 第 253 场周赛 |
-| 1962 | [移除石子使总数最小](/solution/1900-1999/1962.Remove%20Stones%20to%20Minimize%20the%20Total/README.md) | `数组`,`堆(优先队列)` | 中等 | 第 253 场周赛 |
+| 1962 | [移除石子使总数最小](/solution/1900-1999/1962.Remove%20Stones%20to%20Minimize%20the%20Total/README.md) | `贪心`,`数组`,`堆(优先队列)` | 中等 | 第 253 场周赛 |
| 1963 | [使字符串平衡的最小交换次数](/solution/1900-1999/1963.Minimum%20Number%20of%20Swaps%20to%20Make%20the%20String%20Balanced/README.md) | `栈`,`贪心`,`双指针`,`字符串` | 中等 | 第 253 场周赛 |
| 1964 | [找出到每个位置为止最长的有效障碍赛跑路线](/solution/1900-1999/1964.Find%20the%20Longest%20Valid%20Obstacle%20Course%20at%20Each%20Position/README.md) | `树状数组`,`数组`,`二分查找` | 困难 | 第 253 场周赛 |
| 1965 | [丢失信息的雇员](/solution/1900-1999/1965.Employees%20With%20Missing%20Information/README.md) | `数据库` | 简单 | |
@@ -2003,7 +1999,7 @@
| 1990 | [统计实验的数量](/solution/1900-1999/1990.Count%20the%20Number%20of%20Experiments/README.md) | `数据库` | 中等 | 🔒 |
| 1991 | [找到数组的中间位置](/solution/1900-1999/1991.Find%20the%20Middle%20Index%20in%20Array/README.md) | `数组`,`前缀和` | 简单 | 第 60 场双周赛 |
| 1992 | [找到所有的农场组](/solution/1900-1999/1992.Find%20All%20Groups%20of%20Farmland/README.md) | `深度优先搜索`,`广度优先搜索`,`数组`,`矩阵` | 中等 | 第 60 场双周赛 |
-| 1993 | [树上的操作](/solution/1900-1999/1993.Operations%20on%20Tree/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`设计`,`哈希表` | 中等 | 第 60 场双周赛 |
+| 1993 | [树上的操作](/solution/1900-1999/1993.Operations%20on%20Tree/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`设计`,`数组`,`哈希表` | 中等 | 第 60 场双周赛 |
| 1994 | [好子集的数目](/solution/1900-1999/1994.The%20Number%20of%20Good%20Subsets/README.md) | `位运算`,`数组`,`数学`,`动态规划`,`状态压缩` | 困难 | 第 60 场双周赛 |
| 1995 | [统计特殊四元组](/solution/1900-1999/1995.Count%20Special%20Quadruplets/README.md) | `数组`,`枚举` | 简单 | 第 257 场周赛 |
| 1996 | [游戏中弱角色的数量](/solution/1900-1999/1996.The%20Number%20of%20Weak%20Characters%20in%20the%20Game/README.md) | `栈`,`贪心`,`数组`,`排序`,`单调栈` | 中等 | 第 257 场周赛 |
@@ -2092,7 +2088,7 @@
| 2079 | [给植物浇水](/solution/2000-2099/2079.Watering%20Plants/README.md) | `数组` | 中等 | 第 268 场周赛 |
| 2080 | [区间内查询数字的频率](/solution/2000-2099/2080.Range%20Frequency%20Queries/README.md) | `设计`,`线段树`,`数组`,`哈希表`,`二分查找` | 中等 | 第 268 场周赛 |
| 2081 | [k 镜像数字的和](/solution/2000-2099/2081.Sum%20of%20k-Mirror%20Numbers/README.md) | `数学`,`枚举` | 困难 | 第 268 场周赛 |
-| 2082 | [富有客户的数量](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README.md) | `数据库` | 简单 | |
+| 2082 | [富有客户的数量](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README.md) | `数据库` | 简单 | 🔒 |
| 2083 | [求以相同字母开头和结尾的子串总数](/solution/2000-2099/2083.Substrings%20That%20Begin%20and%20End%20With%20the%20Same%20Letter/README.md) | `哈希表`,`数学`,`字符串`,`计数`,`前缀和` | 中等 | 🔒 |
| 2084 | [为订单类型为 0 的客户删除类型为 1 的订单](/solution/2000-2099/2084.Drop%20Type%201%20Orders%20for%20Customers%20With%20Type%200%20Orders/README.md) | `数据库` | 中等 | 🔒 |
| 2085 | [统计出现过一次的公共字符串](/solution/2000-2099/2085.Count%20Common%20Words%20With%20One%20Occurrence/README.md) | `数组`,`哈希表`,`字符串`,`计数` | 简单 | 第 66 场双周赛 |
@@ -2103,14 +2099,14 @@
| 2090 | [半径为 k 的子数组平均值](/solution/2000-2099/2090.K%20Radius%20Subarray%20Averages/README.md) | `数组`,`滑动窗口` | 中等 | 第 269 场周赛 |
| 2091 | [从数组中移除最大值和最小值](/solution/2000-2099/2091.Removing%20Minimum%20and%20Maximum%20From%20Array/README.md) | `贪心`,`数组` | 中等 | 第 269 场周赛 |
| 2092 | [找出知晓秘密的所有专家](/solution/2000-2099/2092.Find%20All%20People%20With%20Secret/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`图`,`排序` | 困难 | 第 269 场周赛 |
-| 2093 | [前往目标城市的最小费用](/solution/2000-2099/2093.Minimum%20Cost%20to%20Reach%20City%20With%20Discounts/README.md) | `图`,`最短路` | 中等 | 🔒 |
+| 2093 | [前往目标城市的最小费用](/solution/2000-2099/2093.Minimum%20Cost%20to%20Reach%20City%20With%20Discounts/README.md) | `图`,`最短路`,`堆(优先队列)` | 中等 | 🔒 |
| 2094 | [找出 3 位偶数](/solution/2000-2099/2094.Finding%203-Digit%20Even%20Numbers/README.md) | `数组`,`哈希表`,`枚举`,`排序` | 简单 | 第 270 场周赛 |
| 2095 | [删除链表的中间节点](/solution/2000-2099/2095.Delete%20the%20Middle%20Node%20of%20a%20Linked%20List/README.md) | `链表`,`双指针` | 中等 | 第 270 场周赛 |
| 2096 | [从二叉树一个节点到另一个节点每一步的方向](/solution/2000-2099/2096.Step-By-Step%20Directions%20From%20a%20Binary%20Tree%20Node%20to%20Another/README.md) | `树`,`深度优先搜索`,`字符串`,`二叉树` | 中等 | 第 270 场周赛 |
| 2097 | [合法重新排列数对](/solution/2000-2099/2097.Valid%20Arrangement%20of%20Pairs/README.md) | `深度优先搜索`,`图`,`欧拉回路` | 困难 | 第 270 场周赛 |
| 2098 | [长度为 K 的最大偶数和子序列](/solution/2000-2099/2098.Subsequence%20of%20Size%20K%20With%20the%20Largest%20Even%20Sum/README.md) | `贪心`,`数组`,`排序` | 中等 | 🔒 |
| 2099 | [找到和最大的长度为 K 的子序列](/solution/2000-2099/2099.Find%20Subsequence%20of%20Length%20K%20With%20the%20Largest%20Sum/README.md) | `数组`,`哈希表`,`排序`,`堆(优先队列)` | 简单 | 第 67 场双周赛 |
-| 2100 | [适合打劫银行的日子](/solution/2100-2199/2100.Find%20Good%20Days%20to%20Rob%20the%20Bank/README.md) | `数组`,`动态规划`,`前缀和` | 中等 | 第 67 场双周赛 |
+| 2100 | [适合野炊的日子](/solution/2100-2199/2100.Find%20Good%20Days%20to%20Rob%20the%20Bank/README.md) | `数组`,`动态规划`,`前缀和` | 中等 | 第 67 场双周赛 |
| 2101 | [引爆最多的炸弹](/solution/2100-2199/2101.Detonate%20the%20Maximum%20Bombs/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`几何`,`数组`,`数学` | 中等 | 第 67 场双周赛 |
| 2102 | [序列顺序查询](/solution/2100-2199/2102.Sequentially%20Ordinal%20Rank%20Tracker/README.md) | `设计`,`数据流`,`有序集合`,`堆(优先队列)` | 困难 | 第 67 场双周赛 |
| 2103 | [环和杆](/solution/2100-2199/2103.Rings%20and%20Rods/README.md) | `哈希表`,`字符串` | 简单 | 第 271 场周赛 |
@@ -2340,7 +2336,7 @@
| 2327 | [知道秘密的人数](/solution/2300-2399/2327.Number%20of%20People%20Aware%20of%20a%20Secret/README.md) | `队列`,`动态规划`,`模拟` | 中等 | 第 300 场周赛 |
| 2328 | [网格图中递增路径的数目](/solution/2300-2399/2328.Number%20of%20Increasing%20Paths%20in%20a%20Grid/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`拓扑排序`,`记忆化搜索`,`数组`,`动态规划`,`矩阵` | 困难 | 第 300 场周赛 |
| 2329 | [产品销售分析Ⅴ](/solution/2300-2399/2329.Product%20Sales%20Analysis%20V/README.md) | `数据库` | 简单 | 🔒 |
-| 2330 | [有效的回文 IV](/solution/2300-2399/2330.Valid%20Palindrome%20IV/README.md) | `双指针`,`字符串` | 中等 | 🔒 |
+| 2330 | [验证回文串 IV](/solution/2300-2399/2330.Valid%20Palindrome%20IV/README.md) | `双指针`,`字符串` | 中等 | 🔒 |
| 2331 | [计算布尔二叉树的值](/solution/2300-2399/2331.Evaluate%20Boolean%20Binary%20Tree/README.md) | `树`,`深度优先搜索`,`二叉树` | 简单 | 第 82 场双周赛 |
| 2332 | [坐上公交的最晚时间](/solution/2300-2399/2332.The%20Latest%20Time%20to%20Catch%20a%20Bus/README.md) | `数组`,`双指针`,`二分查找`,`排序` | 中等 | 第 82 场双周赛 |
| 2333 | [最小差值平方和](/solution/2300-2399/2333.Minimum%20Sum%20of%20Squared%20Difference/README.md) | `数组`,`数学`,`排序`,`堆(优先队列)` | 中等 | 第 82 场双周赛 |
@@ -2381,7 +2377,7 @@
| 2368 | [受限条件下可到达节点的数目](/solution/2300-2399/2368.Reachable%20Nodes%20With%20Restrictions/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`图`,`数组`,`哈希表` | 中等 | 第 305 场周赛 |
| 2369 | [检查数组是否存在有效划分](/solution/2300-2399/2369.Check%20if%20There%20is%20a%20Valid%20Partition%20For%20The%20Array/README.md) | `数组`,`动态规划` | 中等 | 第 305 场周赛 |
| 2370 | [最长理想子序列](/solution/2300-2399/2370.Longest%20Ideal%20Subsequence/README.md) | `哈希表`,`字符串`,`动态规划` | 中等 | 第 305 场周赛 |
-| 2371 | [最小化网格中的最大值](/solution/2300-2399/2371.Minimize%20Maximum%20Value%20in%20a%20Grid/README.md) | `贪心`,`并查集`,`图`,`拓扑排序`,`数组`,`矩阵`,`排序` | 困难 | 🔒 |
+| 2371 | [最小化网格中的最大值](/solution/2300-2399/2371.Minimize%20Maximum%20Value%20in%20a%20Grid/README.md) | `并查集`,`图`,`拓扑排序`,`数组`,`矩阵`,`排序` | 困难 | 🔒 |
| 2372 | [计算每个销售人员的影响力](/solution/2300-2399/2372.Calculate%20the%20Influence%20of%20Each%20Salesperson/README.md) | `数据库` | 中等 | 🔒 |
| 2373 | [矩阵中的局部最大值](/solution/2300-2399/2373.Largest%20Local%20Values%20in%20a%20Matrix/README.md) | `数组`,`矩阵` | 简单 | 第 306 场周赛 |
| 2374 | [边积分最高的节点](/solution/2300-2399/2374.Node%20With%20Highest%20Edge%20Score/README.md) | `图`,`哈希表` | 中等 | 第 306 场周赛 |
@@ -2412,7 +2408,7 @@
| 2399 | [检查相同字母间的距离](/solution/2300-2399/2399.Check%20Distances%20Between%20Same%20Letters/README.md) | `数组`,`哈希表`,`字符串` | 简单 | 第 309 场周赛 |
| 2400 | [恰好移动 k 步到达某一位置的方法数目](/solution/2400-2499/2400.Number%20of%20Ways%20to%20Reach%20a%20Position%20After%20Exactly%20k%20Steps/README.md) | `数学`,`动态规划`,`组合数学` | 中等 | 第 309 场周赛 |
| 2401 | [最长优雅子数组](/solution/2400-2499/2401.Longest%20Nice%20Subarray/README.md) | `位运算`,`数组`,`滑动窗口` | 中等 | 第 309 场周赛 |
-| 2402 | [会议室 III](/solution/2400-2499/2402.Meeting%20Rooms%20III/README.md) | `数组`,`排序`,`堆(优先队列)` | 困难 | 第 309 场周赛 |
+| 2402 | [会议室 III](/solution/2400-2499/2402.Meeting%20Rooms%20III/README.md) | `数组`,`哈希表`,`排序`,`模拟`,`堆(优先队列)` | 困难 | 第 309 场周赛 |
| 2403 | [杀死所有怪物的最短时间](/solution/2400-2499/2403.Minimum%20Time%20to%20Kill%20All%20Monsters/README.md) | `位运算`,`数组`,`动态规划`,`状态压缩` | 困难 | 🔒 |
| 2404 | [出现最频繁的偶数元素](/solution/2400-2499/2404.Most%20Frequent%20Even%20Element/README.md) | `数组`,`哈希表`,`计数` | 简单 | 第 310 场周赛 |
| 2405 | [子字符串的最优划分](/solution/2400-2499/2405.Optimal%20Partition%20of%20String/README.md) | `贪心`,`哈希表`,`字符串` | 中等 | 第 310 场周赛 |
@@ -2431,7 +2427,7 @@
| 2418 | [按身高排序](/solution/2400-2499/2418.Sort%20the%20People/README.md) | `数组`,`哈希表`,`字符串`,`排序` | 简单 | 第 312 场周赛 |
| 2419 | [按位与最大的最长子数组](/solution/2400-2499/2419.Longest%20Subarray%20With%20Maximum%20Bitwise%20AND/README.md) | `位运算`,`脑筋急转弯`,`数组` | 中等 | 第 312 场周赛 |
| 2420 | [找到所有好下标](/solution/2400-2499/2420.Find%20All%20Good%20Indices/README.md) | `数组`,`动态规划`,`前缀和` | 中等 | 第 312 场周赛 |
-| 2421 | [好路径的数目](/solution/2400-2499/2421.Number%20of%20Good%20Paths/README.md) | `树`,`并查集`,`图`,`数组` | 困难 | 第 312 场周赛 |
+| 2421 | [好路径的数目](/solution/2400-2499/2421.Number%20of%20Good%20Paths/README.md) | `树`,`并查集`,`图`,`数组`,`哈希表`,`排序` | 困难 | 第 312 场周赛 |
| 2422 | [使用合并操作将数组转换为回文序列](/solution/2400-2499/2422.Merge%20Operations%20to%20Turn%20Array%20Into%20a%20Palindrome/README.md) | `贪心`,`数组`,`双指针` | 中等 | 🔒 |
| 2423 | [删除字符使频率相同](/solution/2400-2499/2423.Remove%20Letter%20To%20Equalize%20Frequency/README.md) | `哈希表`,`字符串`,`计数` | 简单 | 第 88 场双周赛 |
| 2424 | [最长上传前缀](/solution/2400-2499/2424.Longest%20Uploaded%20Prefix/README.md) | `并查集`,`设计`,`树状数组`,`线段树`,`二分查找`,`有序集合`,`堆(优先队列)` | 中等 | 第 88 场双周赛 |
@@ -2439,7 +2435,7 @@
| 2426 | [满足不等式的数对数目](/solution/2400-2499/2426.Number%20of%20Pairs%20Satisfying%20Inequality/README.md) | `树状数组`,`线段树`,`数组`,`二分查找`,`分治`,`有序集合`,`归并排序` | 困难 | 第 88 场双周赛 |
| 2427 | [公因子的数目](/solution/2400-2499/2427.Number%20of%20Common%20Factors/README.md) | `数学`,`枚举`,`数论` | 简单 | 第 313 场周赛 |
| 2428 | [沙漏的最大总和](/solution/2400-2499/2428.Maximum%20Sum%20of%20an%20Hourglass/README.md) | `数组`,`矩阵`,`前缀和` | 中等 | 第 313 场周赛 |
-| 2429 | [最小 XOR](/solution/2400-2499/2429.Minimize%20XOR/README.md) | `贪心`,`位运算` | 中等 | 第 313 场周赛 |
+| 2429 | [最小异或](/solution/2400-2499/2429.Minimize%20XOR/README.md) | `贪心`,`位运算` | 中等 | 第 313 场周赛 |
| 2430 | [对字母串可执行的最大删除数](/solution/2400-2499/2430.Maximum%20Deletions%20on%20a%20String/README.md) | `字符串`,`动态规划`,`字符串匹配`,`哈希函数`,`滚动哈希` | 困难 | 第 313 场周赛 |
| 2431 | [最大限度地提高购买水果的口味](/solution/2400-2499/2431.Maximize%20Total%20Tastiness%20of%20Purchased%20Fruits/README.md) | `数组`,`动态规划` | 中等 | 🔒 |
| 2432 | [处理用时最长的那个任务的员工](/solution/2400-2499/2432.The%20Employee%20That%20Worked%20on%20the%20Longest%20Task/README.md) | `数组` | 简单 | 第 314 场周赛 |
@@ -2513,7 +2509,7 @@
| 2500 | [删除每行中的最大值](/solution/2500-2599/2500.Delete%20Greatest%20Value%20in%20Each%20Row/README.md) | `数组`,`矩阵`,`排序`,`模拟`,`堆(优先队列)` | 简单 | 第 323 场周赛 |
| 2501 | [数组中最长的方波](/solution/2500-2599/2501.Longest%20Square%20Streak%20in%20an%20Array/README.md) | `数组`,`哈希表`,`二分查找`,`动态规划`,`排序` | 中等 | 第 323 场周赛 |
| 2502 | [设计内存分配器](/solution/2500-2599/2502.Design%20Memory%20Allocator/README.md) | `设计`,`数组`,`哈希表`,`模拟` | 中等 | 第 323 场周赛 |
-| 2503 | [矩阵查询可获得的最大分数](/solution/2500-2599/2503.Maximum%20Number%20of%20Points%20From%20Grid%20Queries/README.md) | `广度优先搜索`,`并查集`,`数组`,`排序`,`堆(优先队列)` | 困难 | 第 323 场周赛 |
+| 2503 | [矩阵查询可获得的最大分数](/solution/2500-2599/2503.Maximum%20Number%20of%20Points%20From%20Grid%20Queries/README.md) | `广度优先搜索`,`并查集`,`数组`,`双指针`,`矩阵`,`排序`,`堆(优先队列)` | 困难 | 第 323 场周赛 |
| 2504 | [把名字和职业联系起来](/solution/2500-2599/2504.Concatenate%20the%20Name%20and%20the%20Profession/README.md) | `数据库` | 简单 | 🔒 |
| 2505 | [所有子序列和的按位或](/solution/2500-2599/2505.Bitwise%20OR%20of%20All%20Subsequence%20Sums/README.md) | `位运算`,`脑筋急转弯`,`数组`,`数学` | 中等 | 🔒 |
| 2506 | [统计相似字符串对的数目](/solution/2500-2599/2506.Count%20Pairs%20Of%20Similar%20Strings/README.md) | `数组`,`哈希表`,`字符串` | 简单 | 第 324 场周赛 |
@@ -2537,11 +2533,11 @@
| 2524 | [子数组的最大频率分数](/solution/2500-2599/2524.Maximum%20Frequency%20Score%20of%20a%20Subarray/README.md) | `数组`,`哈希表`,`数学`,`滑动窗口` | 困难 | 🔒 |
| 2525 | [根据规则将箱子分类](/solution/2500-2599/2525.Categorize%20Box%20According%20to%20Criteria/README.md) | `数学` | 简单 | 第 95 场双周赛 |
| 2526 | [找到数据流中的连续整数](/solution/2500-2599/2526.Find%20Consecutive%20Integers%20from%20a%20Data%20Stream/README.md) | `设计`,`队列`,`哈希表`,`计数`,`数据流` | 中等 | 第 95 场双周赛 |
-| 2527 | [查询数组 Xor 美丽值](/solution/2500-2599/2527.Find%20Xor-Beauty%20of%20Array/README.md) | `位运算`,`数组`,`数学` | 中等 | 第 95 场双周赛 |
-| 2528 | [最大化城市的最小供电站数目](/solution/2500-2599/2528.Maximize%20the%20Minimum%20Powered%20City/README.md) | `贪心`,`队列`,`数组`,`二分查找`,`前缀和`,`滑动窗口` | 困难 | 第 95 场双周赛 |
+| 2527 | [查询数组异或美丽值](/solution/2500-2599/2527.Find%20Xor-Beauty%20of%20Array/README.md) | `位运算`,`数组`,`数学` | 中等 | 第 95 场双周赛 |
+| 2528 | [最大化城市的最小电量](/solution/2500-2599/2528.Maximize%20the%20Minimum%20Powered%20City/README.md) | `贪心`,`队列`,`数组`,`二分查找`,`前缀和`,`滑动窗口` | 困难 | 第 95 场双周赛 |
| 2529 | [正整数和负整数的最大计数](/solution/2500-2599/2529.Maximum%20Count%20of%20Positive%20Integer%20and%20Negative%20Integer/README.md) | `数组`,`二分查找`,`计数` | 简单 | 第 327 场周赛 |
| 2530 | [执行 K 次操作后的最大分数](/solution/2500-2599/2530.Maximal%20Score%20After%20Applying%20K%20Operations/README.md) | `贪心`,`数组`,`堆(优先队列)` | 中等 | 第 327 场周赛 |
-| 2531 | [使字符串总不同字符的数目相等](/solution/2500-2599/2531.Make%20Number%20of%20Distinct%20Characters%20Equal/README.md) | `哈希表`,`字符串`,`计数` | 中等 | 第 327 场周赛 |
+| 2531 | [使字符串中不同字符的数目相等](/solution/2500-2599/2531.Make%20Number%20of%20Distinct%20Characters%20Equal/README.md) | `哈希表`,`字符串`,`计数` | 中等 | 第 327 场周赛 |
| 2532 | [过桥的时间](/solution/2500-2599/2532.Time%20to%20Cross%20a%20Bridge/README.md) | `数组`,`模拟`,`堆(优先队列)` | 困难 | 第 327 场周赛 |
| 2533 | [好二进制字符串的数量](/solution/2500-2599/2533.Number%20of%20Good%20Binary%20Strings/README.md) | `动态规划` | 中等 | 🔒 |
| 2534 | [通过门的时间](/solution/2500-2599/2534.Time%20Taken%20to%20Cross%20the%20Door/README.md) | `队列`,`数组`,`模拟` | 困难 | 🔒 |
@@ -2583,7 +2579,7 @@
| 2570 | [合并两个二维数组 - 求和法](/solution/2500-2599/2570.Merge%20Two%202D%20Arrays%20by%20Summing%20Values/README.md) | `数组`,`哈希表`,`双指针` | 简单 | 第 333 场周赛 |
| 2571 | [将整数减少到零需要的最少操作数](/solution/2500-2599/2571.Minimum%20Operations%20to%20Reduce%20an%20Integer%20to%200/README.md) | `贪心`,`位运算`,`动态规划` | 中等 | 第 333 场周赛 |
| 2572 | [无平方子集计数](/solution/2500-2599/2572.Count%20the%20Number%20of%20Square-Free%20Subsets/README.md) | `位运算`,`数组`,`数学`,`动态规划`,`状态压缩` | 中等 | 第 333 场周赛 |
-| 2573 | [找出对应 LCP 矩阵的字符串](/solution/2500-2599/2573.Find%20the%20String%20with%20LCP/README.md) | `贪心`,`并查集`,`字符串`,`动态规划` | 困难 | 第 333 场周赛 |
+| 2573 | [找出对应 LCP 矩阵的字符串](/solution/2500-2599/2573.Find%20the%20String%20with%20LCP/README.md) | `贪心`,`并查集`,`数组`,`字符串`,`动态规划`,`矩阵` | 困难 | 第 333 场周赛 |
| 2574 | [左右元素和的差值](/solution/2500-2599/2574.Left%20and%20Right%20Sum%20Differences/README.md) | `数组`,`前缀和` | 简单 | 第 334 场周赛 |
| 2575 | [找出字符串的可整除数组](/solution/2500-2599/2575.Find%20the%20Divisibility%20Array%20of%20a%20String/README.md) | `数组`,`数学`,`字符串` | 中等 | 第 334 场周赛 |
| 2576 | [求出最多标记下标](/solution/2500-2599/2576.Find%20the%20Maximum%20Number%20of%20Marked%20Indices/README.md) | `贪心`,`数组`,`双指针`,`二分查找`,`排序` | 中等 | 第 334 场周赛 |
@@ -2593,7 +2589,7 @@
| 2580 | [统计将重叠区间合并成组的方案数](/solution/2500-2599/2580.Count%20Ways%20to%20Group%20Overlapping%20Ranges/README.md) | `数组`,`排序` | 中等 | 第 99 场双周赛 |
| 2581 | [统计可能的树根数目](/solution/2500-2599/2581.Count%20Number%20of%20Possible%20Root%20Nodes/README.md) | `树`,`深度优先搜索`,`哈希表`,`动态规划` | 困难 | 第 99 场双周赛 |
| 2582 | [递枕头](/solution/2500-2599/2582.Pass%20the%20Pillow/README.md) | `数学`,`模拟` | 简单 | 第 335 场周赛 |
-| 2583 | [二叉树中的第 K 大层和](/solution/2500-2599/2583.Kth%20Largest%20Sum%20in%20a%20Binary%20Tree/README.md) | `树`,`广度优先搜索`,`二分查找` | 中等 | 第 335 场周赛 |
+| 2583 | [二叉树中的第 K 大层和](/solution/2500-2599/2583.Kth%20Largest%20Sum%20in%20a%20Binary%20Tree/README.md) | `树`,`广度优先搜索`,`二叉树`,`排序` | 中等 | 第 335 场周赛 |
| 2584 | [分割数组使乘积互质](/solution/2500-2599/2584.Split%20the%20Array%20to%20Make%20Coprime%20Products/README.md) | `数组`,`哈希表`,`数学`,`数论` | 困难 | 第 335 场周赛 |
| 2585 | [获得分数的方法数](/solution/2500-2599/2585.Number%20of%20Ways%20to%20Earn%20Points/README.md) | `数组`,`动态规划` | 困难 | 第 335 场周赛 |
| 2586 | [统计范围内的元音字符串数](/solution/2500-2599/2586.Count%20the%20Number%20of%20Vowel%20Strings%20in%20Range/README.md) | `数组`,`字符串` | 简单 | 第 336 场周赛 |
@@ -2662,12 +2658,12 @@
| 2649 | [嵌套数组生成器](/solution/2600-2699/2649.Nested%20Array%20Generator/README.md) | | 中等 | |
| 2650 | [设计可取消函数](/solution/2600-2699/2650.Design%20Cancellable%20Function/README.md) | | 困难 | |
| 2651 | [计算列车到站时间](/solution/2600-2699/2651.Calculate%20Delayed%20Arrival%20Time/README.md) | `数学` | 简单 | 第 342 场周赛 |
-| 2652 | [倍数求和](/solution/2600-2699/2652.Sum%20Multiples/README.md) | `数组`,`数学`,`数论` | 简单 | 第 342 场周赛 |
+| 2652 | [倍数求和](/solution/2600-2699/2652.Sum%20Multiples/README.md) | `数学` | 简单 | 第 342 场周赛 |
| 2653 | [滑动子数组的美丽值](/solution/2600-2699/2653.Sliding%20Subarray%20Beauty/README.md) | `数组`,`哈希表`,`滑动窗口` | 中等 | 第 342 场周赛 |
| 2654 | [使数组所有元素变成 1 的最少操作次数](/solution/2600-2699/2654.Minimum%20Number%20of%20Operations%20to%20Make%20All%20Array%20Elements%20Equal%20to%201/README.md) | `数组`,`数学`,`数论` | 中等 | 第 342 场周赛 |
| 2655 | [寻找最大长度的未覆盖区间](/solution/2600-2699/2655.Find%20Maximal%20Uncovered%20Ranges/README.md) | `数组`,`排序` | 中等 | 🔒 |
| 2656 | [K 个元素的最大和](/solution/2600-2699/2656.Maximum%20Sum%20With%20Exactly%20K%20Elements/README.md) | `贪心`,`数组` | 简单 | 第 103 场双周赛 |
-| 2657 | [找到两个数组的前缀公共数组](/solution/2600-2699/2657.Find%20the%20Prefix%20Common%20Array%20of%20Two%20Arrays/README.md) | `数组`,`哈希表` | 中等 | 第 103 场双周赛 |
+| 2657 | [找到两个数组的前缀公共数组](/solution/2600-2699/2657.Find%20the%20Prefix%20Common%20Array%20of%20Two%20Arrays/README.md) | `位运算`,`数组`,`哈希表` | 中等 | 第 103 场双周赛 |
| 2658 | [网格图中鱼的最大数目](/solution/2600-2699/2658.Maximum%20Number%20of%20Fish%20in%20a%20Grid/README.md) | `深度优先搜索`,`广度优先搜索`,`并查集`,`数组`,`矩阵` | 中等 | 第 103 场双周赛 |
| 2659 | [将数组清空](/solution/2600-2699/2659.Make%20Array%20Empty/README.md) | `贪心`,`树状数组`,`线段树`,`数组`,`二分查找`,`有序集合`,`排序` | 困难 | 第 103 场双周赛 |
| 2660 | [保龄球游戏的获胜者](/solution/2600-2699/2660.Determine%20the%20Winner%20of%20a%20Bowling%20Game/README.md) | `数组`,`模拟` | 简单 | 第 343 场周赛 |
@@ -2685,7 +2681,7 @@
| 2672 | [有相同颜色的相邻元素数目](/solution/2600-2699/2672.Number%20of%20Adjacent%20Elements%20With%20the%20Same%20Color/README.md) | `数组` | 中等 | 第 344 场周赛 |
| 2673 | [使二叉树所有路径值相等的最小代价](/solution/2600-2699/2673.Make%20Costs%20of%20Paths%20Equal%20in%20a%20Binary%20Tree/README.md) | `贪心`,`树`,`数组`,`动态规划`,`二叉树` | 中等 | 第 344 场周赛 |
| 2674 | [拆分循环链表](/solution/2600-2699/2674.Split%20a%20Circular%20Linked%20List/README.md) | | 中等 | 🔒 |
-| 2675 | [将对象数组转换为矩阵](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README.md) | | 中等 | 🔒 |
+| 2675 | [将对象数组转换为矩阵](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README.md) | | 困难 | 🔒 |
| 2676 | [节流](/solution/2600-2699/2676.Throttle/README.md) | | 中等 | 🔒 |
| 2677 | [分块数组](/solution/2600-2699/2677.Chunk%20Array/README.md) | | 简单 | |
| 2678 | [老人的数目](/solution/2600-2699/2678.Number%20of%20Senior%20Citizens/README.md) | `数组`,`字符串` | 简单 | 第 104 场双周赛 |
@@ -2707,7 +2703,7 @@
| 2694 | [事件发射器](/solution/2600-2699/2694.Event%20Emitter/README.md) | | 中等 | |
| 2695 | [包装数组](/solution/2600-2699/2695.Array%20Wrapper/README.md) | | 简单 | |
| 2696 | [删除子串后的字符串最小长度](/solution/2600-2699/2696.Minimum%20String%20Length%20After%20Removing%20Substrings/README.md) | `栈`,`字符串`,`模拟` | 简单 | 第 346 场周赛 |
-| 2697 | [字典序最小回文串](/solution/2600-2699/2697.Lexicographically%20Smallest%20Palindrome/README.md) | `双指针`,`字符串` | 简单 | 第 346 场周赛 |
+| 2697 | [字典序最小回文串](/solution/2600-2699/2697.Lexicographically%20Smallest%20Palindrome/README.md) | `贪心`,`双指针`,`字符串` | 简单 | 第 346 场周赛 |
| 2698 | [求一个整数的惩罚数](/solution/2600-2699/2698.Find%20the%20Punishment%20Number%20of%20an%20Integer/README.md) | `数学`,`回溯` | 中等 | 第 346 场周赛 |
| 2699 | [修改图中的边权](/solution/2600-2699/2699.Modify%20Graph%20Edge%20Weights/README.md) | `图`,`最短路`,`堆(优先队列)` | 困难 | 第 346 场周赛 |
| 2700 | [两个对象之间的差异](/solution/2700-2799/2700.Differences%20Between%20Two%20Objects/README.md) | | 中等 | 🔒 |
@@ -2733,7 +2729,7 @@
| 2720 | [受欢迎度百分比](/solution/2700-2799/2720.Popularity%20Percentage/README.md) | `数据库` | 困难 | 🔒 |
| 2721 | [并行执行异步函数](/solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README.md) | | 中等 | |
| 2722 | [根据 ID 合并两个数组](/solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README.md) | | 中等 | |
-| 2723 | [添加两个 Promise 对象](/solution/2700-2799/2723.Add%20Two%20Promises/README.md) | | 简单 | |
+| 2723 | [两个 Promise 对象相加](/solution/2700-2799/2723.Add%20Two%20Promises/README.md) | | 简单 | |
| 2724 | [排序方式](/solution/2700-2799/2724.Sort%20By/README.md) | | 简单 | |
| 2725 | [间隔取消](/solution/2700-2799/2725.Interval%20Cancellation/README.md) | | 简单 | |
| 2726 | [使用方法链的计算器](/solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README.md) | | 简单 | |
@@ -2756,7 +2752,7 @@
| 2743 | [计算没有重复字符的子字符串数量](/solution/2700-2799/2743.Count%20Substrings%20Without%20Repeating%20Character/README.md) | `哈希表`,`字符串`,`滑动窗口` | 中等 | 🔒 |
| 2744 | [最大字符串配对数目](/solution/2700-2799/2744.Find%20Maximum%20Number%20of%20String%20Pairs/README.md) | `数组`,`哈希表`,`字符串`,`模拟` | 简单 | 第 107 场双周赛 |
| 2745 | [构造最长的新字符串](/solution/2700-2799/2745.Construct%20the%20Longest%20New%20String/README.md) | `贪心`,`脑筋急转弯`,`数学` | 中等 | 第 107 场双周赛 |
-| 2746 | [字符串连接删减字母](/solution/2700-2799/2746.Decremental%20String%20Concatenation/README.md) | `数组`,`字符串` | 中等 | 第 107 场双周赛 |
+| 2746 | [字符串连接删减字母](/solution/2700-2799/2746.Decremental%20String%20Concatenation/README.md) | `数组`,`字符串`,`动态规划` | 中等 | 第 107 场双周赛 |
| 2747 | [统计没有收到请求的服务器数目](/solution/2700-2799/2747.Count%20Zero%20Request%20Servers/README.md) | `数组`,`哈希表`,`排序`,`滑动窗口` | 中等 | 第 107 场双周赛 |
| 2748 | [美丽下标对的数目](/solution/2700-2799/2748.Number%20of%20Beautiful%20Pairs/README.md) | `数组`,`数学`,`数论` | 简单 | 第 351 场周赛 |
| 2749 | [得到整数零需要执行的最少操作数](/solution/2700-2799/2749.Minimum%20Operations%20to%20Make%20the%20Integer%20Zero/README.md) | `位运算`,`脑筋急转弯` | 中等 | 第 351 场周赛 |
@@ -2774,7 +2770,7 @@
| 2761 | [和等于目标值的质数对](/solution/2700-2799/2761.Prime%20Pairs%20With%20Target%20Sum/README.md) | `数组`,`数学`,`枚举`,`数论` | 中等 | 第 352 场周赛 |
| 2762 | [不间断子数组](/solution/2700-2799/2762.Continuous%20Subarrays/README.md) | `队列`,`数组`,`有序集合`,`滑动窗口`,`单调队列`,`堆(优先队列)` | 中等 | 第 352 场周赛 |
| 2763 | [所有子数组中不平衡数字之和](/solution/2700-2799/2763.Sum%20of%20Imbalance%20Numbers%20of%20All%20Subarrays/README.md) | `数组`,`哈希表`,`有序集合` | 困难 | 第 352 场周赛 |
-| 2764 | [数组是否表示某二叉树的前序遍历](/solution/2700-2799/2764.is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/README.md) | `栈`,`树`,`深度优先搜索`,`二叉树` | 中等 | 🔒 |
+| 2764 | [数组是否表示某二叉树的前序遍历](/solution/2700-2799/2764.Is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/README.md) | `栈`,`树`,`深度优先搜索`,`二叉树` | 中等 | 🔒 |
| 2765 | [最长交替子序列](/solution/2700-2799/2765.Longest%20Alternating%20Subarray/README.md) | `数组`,`枚举` | 简单 | 第 108 场双周赛 |
| 2766 | [重新放置石块](/solution/2700-2799/2766.Relocate%20Marbles/README.md) | `数组`,`哈希表`,`排序`,`模拟` | 中等 | 第 108 场双周赛 |
| 2767 | [将字符串分割为最少的美丽子字符串](/solution/2700-2799/2767.Partition%20String%20Into%20Minimum%20Beautiful%20Substrings/README.md) | `哈希表`,`字符串`,`动态规划`,`回溯` | 中等 | 第 108 场双周赛 |
@@ -2807,7 +2803,7 @@
| 2794 | [从两个数组中创建对象](/solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README.md) | | 简单 | 🔒 |
| 2795 | [并行执行 Promise 以获取独有的结果](/solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README.md) | | 中等 | 🔒 |
| 2796 | [重复字符串](/solution/2700-2799/2796.Repeat%20String/README.md) | | 简单 | 🔒 |
-| 2797 | [带有占位符的部分函数](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README.md) | | 中等 | 🔒 |
+| 2797 | [带有占位符的部分函数](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README.md) | | 简单 | 🔒 |
| 2798 | [满足目标工作时长的员工数目](/solution/2700-2799/2798.Number%20of%20Employees%20Who%20Met%20the%20Target/README.md) | `数组`,`枚举` | 简单 | 第 356 场周赛 |
| 2799 | [统计完全子数组的数目](/solution/2700-2799/2799.Count%20Complete%20Subarrays%20in%20an%20Array/README.md) | `数组`,`哈希表`,`滑动窗口` | 中等 | 第 356 场周赛 |
| 2800 | [包含三个字符串的最短字符串](/solution/2800-2899/2800.Shortest%20String%20That%20Contains%20Three%20Strings/README.md) | `贪心`,`字符串`,`枚举` | 中等 | 第 356 场周赛 |
@@ -2817,7 +2813,7 @@
| 2804 | [数组原型的 forEach 方法](/solution/2800-2899/2804.Array%20Prototype%20ForEach/README.md) | | 简单 | 🔒 |
| 2805 | [自定义间隔](/solution/2800-2899/2805.Custom%20Interval/README.md) | | 中等 | 🔒 |
| 2806 | [取整购买后的账户余额](/solution/2800-2899/2806.Account%20Balance%20After%20Rounded%20Purchase/README.md) | `数学` | 简单 | 第 110 场双周赛 |
-| 2807 | [在链表中插入最大公约数](/solution/2800-2899/2807.Insert%20Greatest%20Common%20Divisors%20in%20Linked%20List/README.md) | `数组`,`链表`,`数学` | 中等 | 第 110 场双周赛 |
+| 2807 | [在链表中插入最大公约数](/solution/2800-2899/2807.Insert%20Greatest%20Common%20Divisors%20in%20Linked%20List/README.md) | `链表`,`数学`,`数论` | 中等 | 第 110 场双周赛 |
| 2808 | [使循环数组所有元素相等的最少秒数](/solution/2800-2899/2808.Minimum%20Seconds%20to%20Equalize%20a%20Circular%20Array/README.md) | `贪心`,`数组`,`哈希表` | 中等 | 第 110 场双周赛 |
| 2809 | [使数组和小于等于 x 的最少时间](/solution/2800-2899/2809.Minimum%20Time%20to%20Make%20Array%20Sum%20At%20Most%20x/README.md) | `数组`,`动态规划`,`排序` | 困难 | 第 110 场双周赛 |
| 2810 | [故障键盘](/solution/2800-2899/2810.Faulty%20Keyboard/README.md) | `字符串`,`模拟` | 简单 | 第 357 场周赛 |
@@ -2842,11 +2838,11 @@
| 2829 | [k-avoiding 数组的最小总和](/solution/2800-2899/2829.Determine%20the%20Minimum%20Sum%20of%20a%20k-avoiding%20Array/README.md) | `贪心`,`数学` | 中等 | 第 359 场周赛 |
| 2830 | [销售利润最大化](/solution/2800-2899/2830.Maximize%20the%20Profit%20as%20the%20Salesman/README.md) | `数组`,`二分查找`,`动态规划`,`排序` | 中等 | 第 359 场周赛 |
| 2831 | [找出最长等值子数组](/solution/2800-2899/2831.Find%20the%20Longest%20Equal%20Subarray/README.md) | `数组`,`哈希表`,`二分查找`,`滑动窗口` | 中等 | 第 359 场周赛 |
-| 2832 | [每个元素为最大值的最大范围](/solution/2800-2899/2832.Maximal%20Range%20That%20Each%20Element%20Is%20Maximum%20in%20It/README.md) | | 中等 | 🔒 |
-| 2833 | [距离原点最远的点](/solution/2800-2899/2833.Furthest%20Point%20From%20Origin/README.md) | | 简单 | 第 360 场周赛 |
-| 2834 | [找出美丽数组的最小和](/solution/2800-2899/2834.Find%20the%20Minimum%20Possible%20Sum%20of%20a%20Beautiful%20Array/README.md) | | 中等 | 第 360 场周赛 |
-| 2835 | [使子序列的和等于目标的最少操作次数](/solution/2800-2899/2835.Minimum%20Operations%20to%20Form%20Subsequence%20With%20Target%20Sum/README.md) | | 困难 | 第 360 场周赛 |
-| 2836 | [在传球游戏中最大化函数值](/solution/2800-2899/2836.Maximize%20Value%20of%20Function%20in%20a%20Ball%20Passing%20Game/README.md) | | 困难 | 第 360 场周赛 |
+| 2832 | [每个元素为最大值的最大范围](/solution/2800-2899/2832.Maximal%20Range%20That%20Each%20Element%20Is%20Maximum%20in%20It/README.md) | `栈`,`数组`,`单调栈` | 中等 | 🔒 |
+| 2833 | [距离原点最远的点](/solution/2800-2899/2833.Furthest%20Point%20From%20Origin/README.md) | `数组`,`计数` | 简单 | 第 360 场周赛 |
+| 2834 | [找出美丽数组的最小和](/solution/2800-2899/2834.Find%20the%20Minimum%20Possible%20Sum%20of%20a%20Beautiful%20Array/README.md) | `贪心`,`数学` | 中等 | 第 360 场周赛 |
+| 2835 | [使子序列的和等于目标的最少操作次数](/solution/2800-2899/2835.Minimum%20Operations%20to%20Form%20Subsequence%20With%20Target%20Sum/README.md) | `贪心`,`位运算`,`数组` | 困难 | 第 360 场周赛 |
+| 2836 | [在传球游戏中最大化函数值](/solution/2800-2899/2836.Maximize%20Value%20of%20Function%20in%20a%20Ball%20Passing%20Game/README.md) | `位运算`,`数组`,`动态规划` | 困难 | 第 360 场周赛 |
| 2837 | [总旅行距离](/solution/2800-2899/2837.Total%20Traveled%20Distance/README.md) | `数据库` | 简单 | 🔒 |
| 2838 | [Maximum Coins Heroes Can Collect](/solution/2800-2899/2838.Maximum%20Coins%20Heroes%20Can%20Collect/README.md) | `数组`,`双指针`,`二分查找`,`前缀和`,`排序` | 中等 | 🔒 |
| 2839 | [判断通过操作能否让字符串相等 I](/solution/2800-2899/2839.Check%20if%20Strings%20Can%20be%20Made%20Equal%20With%20Operations%20I/README.md) | `字符串` | 简单 | 第 112 场双周赛 |
@@ -2882,7 +2878,7 @@
| 2869 | [收集元素的最少操作次数](/solution/2800-2899/2869.Minimum%20Operations%20to%20Collect%20Elements/README.md) | `数组`,`哈希表` | 简单 | 第 114 场双周赛 |
| 2870 | [使数组为空的最少操作次数](/solution/2800-2899/2870.Minimum%20Number%20of%20Operations%20to%20Make%20Array%20Empty/README.md) | `贪心`,`数组`,`哈希表`,`计数` | 中等 | 第 114 场双周赛 |
| 2871 | [将数组分割成最多数目的子数组](/solution/2800-2899/2871.Split%20Array%20Into%20Maximum%20Number%20of%20Subarrays/README.md) | `贪心`,`位运算`,`数组` | 中等 | 第 114 场双周赛 |
-| 2872 | [可以被 K 整除连通块的最大数目](/solution/2800-2899/2872.Maximum%20Number%20of%20K-Divisible%20Components/README.md) | `树`,`深度优先搜索`,`动态规划` | 困难 | 第 114 场双周赛 |
+| 2872 | [可以被 K 整除连通块的最大数目](/solution/2800-2899/2872.Maximum%20Number%20of%20K-Divisible%20Components/README.md) | `树`,`深度优先搜索` | 困难 | 第 114 场双周赛 |
| 2873 | [有序三元组中的最大值 I](/solution/2800-2899/2873.Maximum%20Value%20of%20an%20Ordered%20Triplet%20I/README.md) | `数组` | 简单 | 第 365 场周赛 |
| 2874 | [有序三元组中的最大值 II](/solution/2800-2899/2874.Maximum%20Value%20of%20an%20Ordered%20Triplet%20II/README.md) | `数组` | 中等 | 第 365 场周赛 |
| 2875 | [无限数组的最短子数组](/solution/2800-2899/2875.Minimum%20Size%20Subarray%20in%20Infinite%20Array/README.md) | `数组`,`哈希表`,`前缀和`,`滑动窗口` | 中等 | 第 365 场周赛 |
@@ -2922,16 +2918,16 @@
| 2909 | [元素和最小的山形三元组 II](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README.md) | `数组` | 中等 | 第 368 场周赛 |
| 2910 | [合法分组的最少组数](/solution/2900-2999/2910.Minimum%20Number%20of%20Groups%20to%20Create%20a%20Valid%20Assignment/README.md) | `贪心`,`数组`,`哈希表` | 中等 | 第 368 场周赛 |
| 2911 | [得到 K 个半回文串的最少修改次数](/solution/2900-2999/2911.Minimum%20Changes%20to%20Make%20K%20Semi-palindromes/README.md) | `双指针`,`字符串`,`动态规划` | 困难 | 第 368 场周赛 |
-| 2912 | [在网格上移动到目的地的方法数](/solution/2900-2999/2912.Number%20of%20Ways%20to%20Reach%20Destination%20in%20the%20Grid/README.md) | | 困难 | 🔒 |
-| 2913 | [子数组不同元素数目的平方和 I](/solution/2900-2999/2913.Subarrays%20Distinct%20Element%20Sum%20of%20Squares%20I/README.md) | | 简单 | 第 116 场双周赛 |
-| 2914 | [使二进制字符串变美丽的最少修改次数](/solution/2900-2999/2914.Minimum%20Number%20of%20Changes%20to%20Make%20Binary%20String%20Beautiful/README.md) | | 中等 | 第 116 场双周赛 |
-| 2915 | [和为目标值的最长子序列的长度](/solution/2900-2999/2915.Length%20of%20the%20Longest%20Subsequence%20That%20Sums%20to%20Target/README.md) | | 中等 | 第 116 场双周赛 |
-| 2916 | [子数组不同元素数目的平方和 II](/solution/2900-2999/2916.Subarrays%20Distinct%20Element%20Sum%20of%20Squares%20II/README.md) | | 困难 | 第 116 场双周赛 |
-| 2917 | [找出数组中的 K-or 值](/solution/2900-2999/2917.Find%20the%20K-or%20of%20an%20Array/README.md) | | 简单 | 第 369 场周赛 |
-| 2918 | [数组的最小相等和](/solution/2900-2999/2918.Minimum%20Equal%20Sum%20of%20Two%20Arrays%20After%20Replacing%20Zeros/README.md) | | 中等 | 第 369 场周赛 |
-| 2919 | [使数组变美的最小增量运算数](/solution/2900-2999/2919.Minimum%20Increment%20Operations%20to%20Make%20Array%20Beautiful/README.md) | | 中等 | 第 369 场周赛 |
-| 2920 | [收集所有金币可获得的最大积分](/solution/2900-2999/2920.Maximum%20Points%20After%20Collecting%20Coins%20From%20All%20Nodes/README.md) | | 困难 | 第 369 场周赛 |
-| 2921 | [具有递增价格的最大利润三元组 II](/solution/2900-2999/2921.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20II/README.md) | `树状数组`,`数组` | 困难 | 🔒 |
+| 2912 | [在网格上移动到目的地的方法数](/solution/2900-2999/2912.Number%20of%20Ways%20to%20Reach%20Destination%20in%20the%20Grid/README.md) | `数学`,`动态规划`,`组合数学` | 困难 | 🔒 |
+| 2913 | [子数组不同元素数目的平方和 I](/solution/2900-2999/2913.Subarrays%20Distinct%20Element%20Sum%20of%20Squares%20I/README.md) | `数组`,`哈希表` | 简单 | 第 116 场双周赛 |
+| 2914 | [使二进制字符串变美丽的最少修改次数](/solution/2900-2999/2914.Minimum%20Number%20of%20Changes%20to%20Make%20Binary%20String%20Beautiful/README.md) | `字符串` | 中等 | 第 116 场双周赛 |
+| 2915 | [和为目标值的最长子序列的长度](/solution/2900-2999/2915.Length%20of%20the%20Longest%20Subsequence%20That%20Sums%20to%20Target/README.md) | `数组`,`动态规划` | 中等 | 第 116 场双周赛 |
+| 2916 | [子数组不同元素数目的平方和 II](/solution/2900-2999/2916.Subarrays%20Distinct%20Element%20Sum%20of%20Squares%20II/README.md) | `树状数组`,`线段树`,`数组`,`动态规划` | 困难 | 第 116 场双周赛 |
+| 2917 | [找出数组中的 K-or 值](/solution/2900-2999/2917.Find%20the%20K-or%20of%20an%20Array/README.md) | `位运算`,`数组` | 简单 | 第 369 场周赛 |
+| 2918 | [数组的最小相等和](/solution/2900-2999/2918.Minimum%20Equal%20Sum%20of%20Two%20Arrays%20After%20Replacing%20Zeros/README.md) | `贪心`,`数组` | 中等 | 第 369 场周赛 |
+| 2919 | [使数组变美的最小增量运算数](/solution/2900-2999/2919.Minimum%20Increment%20Operations%20to%20Make%20Array%20Beautiful/README.md) | `数组`,`动态规划` | 中等 | 第 369 场周赛 |
+| 2920 | [收集所有金币可获得的最大积分](/solution/2900-2999/2920.Maximum%20Points%20After%20Collecting%20Coins%20From%20All%20Nodes/README.md) | `位运算`,`树`,`深度优先搜索`,`数组`,`动态规划` | 困难 | 第 369 场周赛 |
+| 2921 | [价格递增的最大利润三元组 II](/solution/2900-2999/2921.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20II/README.md) | `树状数组`,`数组` | 困难 | 🔒 |
| 2922 | [市场分析 III](/solution/2900-2999/2922.Market%20Analysis%20III/README.md) | `数据库` | 中等 | 🔒 |
| 2923 | [找到冠军 I](/solution/2900-2999/2923.Find%20Champion%20I/README.md) | `数组`,`矩阵` | 简单 | 第 370 场周赛 |
| 2924 | [找到冠军 II](/solution/2900-2999/2924.Find%20Champion%20II/README.md) | `图` | 中等 | 第 370 场周赛 |
@@ -2941,7 +2937,7 @@
| 2928 | [给小朋友们分糖果 I](/solution/2900-2999/2928.Distribute%20Candies%20Among%20Children%20I/README.md) | `数学`,`组合数学`,`枚举` | 简单 | 第 117 场双周赛 |
| 2929 | [给小朋友们分糖果 II](/solution/2900-2999/2929.Distribute%20Candies%20Among%20Children%20II/README.md) | `数学`,`组合数学`,`枚举` | 中等 | 第 117 场双周赛 |
| 2930 | [重新排列后包含指定子字符串的字符串数目](/solution/2900-2999/2930.Number%20of%20Strings%20Which%20Can%20Be%20Rearranged%20to%20Contain%20Substring/README.md) | `数学`,`动态规划`,`组合数学` | 中等 | 第 117 场双周赛 |
-| 2931 | [购买物品的最大开销](/solution/2900-2999/2931.Maximum%20Spending%20After%20Buying%20Items/README.md) | `贪心`,`数组`,`排序`,`堆(优先队列)` | 困难 | 第 117 场双周赛 |
+| 2931 | [购买物品的最大开销](/solution/2900-2999/2931.Maximum%20Spending%20After%20Buying%20Items/README.md) | `贪心`,`数组`,`矩阵`,`排序`,`堆(优先队列)` | 困难 | 第 117 场双周赛 |
| 2932 | [找出强数对的最大异或值 I](/solution/2900-2999/2932.Maximum%20Strong%20Pair%20XOR%20I/README.md) | `位运算`,`字典树`,`数组`,`哈希表`,`滑动窗口` | 简单 | 第 371 场周赛 |
| 2933 | [高访问员工](/solution/2900-2999/2933.High-Access%20Employees/README.md) | `数组`,`哈希表`,`字符串`,`排序` | 中等 | 第 371 场周赛 |
| 2934 | [最大化数组末位元素的最少操作次数](/solution/2900-2999/2934.Minimum%20Operations%20to%20Maximize%20Last%20Elements%20in%20Arrays/README.md) | `贪心`,`数组` | 中等 | 第 371 场周赛 |
@@ -2960,7 +2956,7 @@
| 2947 | [统计美丽子字符串 I](/solution/2900-2999/2947.Count%20Beautiful%20Substrings%20I/README.md) | `字符串`,`枚举`,`前缀和` | 中等 | 第 373 场周赛 |
| 2948 | [交换得到字典序最小的数组](/solution/2900-2999/2948.Make%20Lexicographically%20Smallest%20Array%20by%20Swapping%20Elements/README.md) | `并查集`,`数组`,`排序` | 中等 | 第 373 场周赛 |
| 2949 | [统计美丽子字符串 II](/solution/2900-2999/2949.Count%20Beautiful%20Substrings%20II/README.md) | `哈希表`,`数学`,`字符串`,`数论`,`前缀和` | 困难 | 第 373 场周赛 |
-| 2950 | [可整除子串的数量](/solution/2900-2999/2950.Number%20of%20Divisible%20Substrings/README.md) | | 中等 | 🔒 |
+| 2950 | [可整除子串的数量](/solution/2900-2999/2950.Number%20of%20Divisible%20Substrings/README.md) | `哈希表`,`字符串`,`计数`,`前缀和` | 中等 | 🔒 |
| 2951 | [找出峰值](/solution/2900-2999/2951.Find%20the%20Peaks/README.md) | `数组`,`枚举` | 简单 | 第 374 场周赛 |
| 2952 | [需要添加的硬币的最小数量](/solution/2900-2999/2952.Minimum%20Number%20of%20Coins%20to%20be%20Added/README.md) | `贪心`,`数组`,`排序` | 中等 | 第 374 场周赛 |
| 2953 | [统计完全子字符串](/solution/2900-2999/2953.Count%20Complete%20Substrings/README.md) | `哈希表`,`字符串`,`滑动窗口` | 困难 | 第 374 场周赛 |
diff --git a/solution/README_EN.md b/solution/README_EN.md
index a1c0076a54584..0520cd12005d3 100644
--- a/solution/README_EN.md
+++ b/solution/README_EN.md
@@ -80,7 +80,7 @@ Press Control + F(or Command + F on
| 0069 | [Sqrt(x)](/solution/0000-0099/0069.Sqrt%28x%29/README_EN.md) | `Math`,`Binary Search` | Easy | |
| 0070 | [Climbing Stairs](/solution/0000-0099/0070.Climbing%20Stairs/README_EN.md) | `Memoization`,`Math`,`Dynamic Programming` | Easy | |
| 0071 | [Simplify Path](/solution/0000-0099/0071.Simplify%20Path/README_EN.md) | `Stack`,`String` | Medium | |
-| 0072 | [Edit Distance](/solution/0000-0099/0072.Edit%20Distance/README_EN.md) | `String`,`Dynamic Programming` | Hard | |
+| 0072 | [Edit Distance](/solution/0000-0099/0072.Edit%20Distance/README_EN.md) | `String`,`Dynamic Programming` | Medium | |
| 0073 | [Set Matrix Zeroes](/solution/0000-0099/0073.Set%20Matrix%20Zeroes/README_EN.md) | `Array`,`Hash Table`,`Matrix` | Medium | |
| 0074 | [Search a 2D Matrix](/solution/0000-0099/0074.Search%20a%202D%20Matrix/README_EN.md) | `Array`,`Binary Search`,`Matrix` | Medium | |
| 0075 | [Sort Colors](/solution/0000-0099/0075.Sort%20Colors/README_EN.md) | `Array`,`Two Pointers`,`Sorting` | Medium | |
@@ -100,7 +100,6 @@ Press Control + F(or Command + F on
| 0089 | [Gray Code](/solution/0000-0099/0089.Gray%20Code/README_EN.md) | `Bit Manipulation`,`Math`,`Backtracking` | Medium | |
| 0090 | [Subsets II](/solution/0000-0099/0090.Subsets%20II/README_EN.md) | `Bit Manipulation`,`Array`,`Backtracking` | Medium | |
| 0091 | [Decode Ways](/solution/0000-0099/0091.Decode%20Ways/README_EN.md) | `String`,`Dynamic Programming` | Medium | |
-| 0092 | [Reverse Linked List II](/solution/0000-0099/0092.Reverse%20Linked%20List%20II/README_EN.md) | `Linked List` | Medium | |
| 0093 | [Restore IP Addresses](/solution/0000-0099/0093.Restore%20IP%20Addresses/README_EN.md) | `String`,`Backtracking` | Medium | |
| 0094 | [Binary Tree Inorder Traversal](/solution/0000-0099/0094.Binary%20Tree%20Inorder%20Traversal/README_EN.md) | `Stack`,`Tree`,`Depth-First Search`,`Binary Tree` | Easy | |
| 0095 | [Unique Binary Search Trees II](/solution/0000-0099/0095.Unique%20Binary%20Search%20Trees%20II/README_EN.md) | `Tree`,`Binary Search Tree`,`Dynamic Programming`,`Backtracking`,`Binary Tree` | Medium | |
@@ -165,14 +164,14 @@ Press Control + F(or Command + F on
| 0154 | [Find Minimum in Rotated Sorted Array II](/solution/0100-0199/0154.Find%20Minimum%20in%20Rotated%20Sorted%20Array%20II/README_EN.md) | `Array`,`Binary Search` | Hard | |
| 0155 | [Min Stack](/solution/0100-0199/0155.Min%20Stack/README_EN.md) | `Stack`,`Design` | Medium | |
| 0156 | [Binary Tree Upside Down](/solution/0100-0199/0156.Binary%20Tree%20Upside%20Down/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | 🔒 |
-| 0157 | [Read N Characters Given Read4](/solution/0100-0199/0157.Read%20N%20Characters%20Given%20Read4/README_EN.md) | `String`,`Interactive`,`Simulation` | Easy | 🔒 |
-| 0158 | [Read N Characters Given read4 II - Call Multiple Times](/solution/0100-0199/0158.Read%20N%20Characters%20Given%20read4%20II%20-%20Call%20Multiple%20Times/README_EN.md) | `String`,`Interactive`,`Simulation` | Hard | 🔒 |
+| 0157 | [Read N Characters Given Read4](/solution/0100-0199/0157.Read%20N%20Characters%20Given%20Read4/README_EN.md) | `Array`,`Interactive`,`Simulation` | Easy | 🔒 |
+| 0158 | [Read N Characters Given read4 II - Call Multiple Times](/solution/0100-0199/0158.Read%20N%20Characters%20Given%20read4%20II%20-%20Call%20Multiple%20Times/README_EN.md) | `Array`,`Interactive`,`Simulation` | Hard | 🔒 |
| 0159 | [Longest Substring with At Most Two Distinct Characters](/solution/0100-0199/0159.Longest%20Substring%20with%20At%20Most%20Two%20Distinct%20Characters/README_EN.md) | `Hash Table`,`String`,`Sliding Window` | Medium | 🔒 |
| 0160 | [Intersection of Two Linked Lists](/solution/0100-0199/0160.Intersection%20of%20Two%20Linked%20Lists/README_EN.md) | `Hash Table`,`Linked List`,`Two Pointers` | Easy | |
| 0161 | [One Edit Distance](/solution/0100-0199/0161.One%20Edit%20Distance/README_EN.md) | `Two Pointers`,`String` | Medium | 🔒 |
| 0162 | [Find Peak Element](/solution/0100-0199/0162.Find%20Peak%20Element/README_EN.md) | `Array`,`Binary Search` | Medium | |
| 0163 | [Missing Ranges](/solution/0100-0199/0163.Missing%20Ranges/README_EN.md) | `Array` | Easy | 🔒 |
-| 0164 | [Maximum Gap](/solution/0100-0199/0164.Maximum%20Gap/README_EN.md) | `Array`,`Bucket Sort`,`Radix Sort`,`Sorting` | Hard | |
+| 0164 | [Maximum Gap](/solution/0100-0199/0164.Maximum%20Gap/README_EN.md) | `Array`,`Bucket Sort`,`Radix Sort`,`Sorting` | Medium | |
| 0165 | [Compare Version Numbers](/solution/0100-0199/0165.Compare%20Version%20Numbers/README_EN.md) | `Two Pointers`,`String` | Medium | |
| 0166 | [Fraction to Recurring Decimal](/solution/0100-0199/0166.Fraction%20to%20Recurring%20Decimal/README_EN.md) | `Hash Table`,`Math`,`String` | Medium | |
| 0167 | [Two Sum II - Input Array Is Sorted](/solution/0100-0199/0167.Two%20Sum%20II%20-%20Input%20Array%20Is%20Sorted/README_EN.md) | `Array`,`Two Pointers`,`Binary Search` | Medium | |
@@ -230,7 +229,7 @@ Press Control + F(or Command + F on
| 0219 | [Contains Duplicate II](/solution/0200-0299/0219.Contains%20Duplicate%20II/README_EN.md) | `Array`,`Hash Table`,`Sliding Window` | Easy | |
| 0220 | [Contains Duplicate III](/solution/0200-0299/0220.Contains%20Duplicate%20III/README_EN.md) | `Array`,`Bucket Sort`,`Ordered Set`,`Sorting`,`Sliding Window` | Hard | |
| 0221 | [Maximal Square](/solution/0200-0299/0221.Maximal%20Square/README_EN.md) | `Array`,`Dynamic Programming`,`Matrix` | Medium | |
-| 0222 | [Count Complete Tree Nodes](/solution/0200-0299/0222.Count%20Complete%20Tree%20Nodes/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Search`,`Binary Tree` | Medium | |
+| 0222 | [Count Complete Tree Nodes](/solution/0200-0299/0222.Count%20Complete%20Tree%20Nodes/README_EN.md) | `Bit Manipulation`,`Tree`,`Binary Search`,`Binary Tree` | Easy | |
| 0223 | [Rectangle Area](/solution/0200-0299/0223.Rectangle%20Area/README_EN.md) | `Geometry`,`Math` | Medium | |
| 0224 | [Basic Calculator](/solution/0200-0299/0224.Basic%20Calculator/README_EN.md) | `Stack`,`Recursion`,`Math`,`String` | Hard | |
| 0225 | [Implement Stack using Queues](/solution/0200-0299/0225.Implement%20Stack%20using%20Queues/README_EN.md) | `Stack`,`Design`,`Queue` | Easy | |
@@ -285,7 +284,7 @@ Press Control + F(or Command + F on
| 0274 | [H-Index](/solution/0200-0299/0274.H-Index/README_EN.md) | `Array`,`Counting Sort`,`Sorting` | Medium | |
| 0275 | [H-Index II](/solution/0200-0299/0275.H-Index%20II/README_EN.md) | `Array`,`Binary Search` | Medium | |
| 0276 | [Paint Fence](/solution/0200-0299/0276.Paint%20Fence/README_EN.md) | `Dynamic Programming` | Medium | 🔒 |
-| 0277 | [Find the Celebrity](/solution/0200-0299/0277.Find%20the%20Celebrity/README_EN.md) | `Greedy`,`Graph`,`Two Pointers`,`Interactive` | Medium | 🔒 |
+| 0277 | [Find the Celebrity](/solution/0200-0299/0277.Find%20the%20Celebrity/README_EN.md) | `Graph`,`Two Pointers`,`Interactive` | Medium | 🔒 |
| 0278 | [First Bad Version](/solution/0200-0299/0278.First%20Bad%20Version/README_EN.md) | `Binary Search`,`Interactive` | Easy | |
| 0279 | [Perfect Squares](/solution/0200-0299/0279.Perfect%20Squares/README_EN.md) | `Breadth-First Search`,`Math`,`Dynamic Programming` | Medium | |
| 0280 | [Wiggle Sort](/solution/0200-0299/0280.Wiggle%20Sort/README_EN.md) | `Greedy`,`Array`,`Sorting` | Medium | 🔒 |
@@ -356,18 +355,17 @@ Press Control + F(or Command + F on
| 0345 | [Reverse Vowels of a String](/solution/0300-0399/0345.Reverse%20Vowels%20of%20a%20String/README_EN.md) | `Two Pointers`,`String` | Easy | |
| 0346 | [Moving Average from Data Stream](/solution/0300-0399/0346.Moving%20Average%20from%20Data%20Stream/README_EN.md) | `Design`,`Queue`,`Array`,`Data Stream` | Easy | 🔒 |
| 0347 | [Top K Frequent Elements](/solution/0300-0399/0347.Top%20K%20Frequent%20Elements/README_EN.md) | `Array`,`Hash Table`,`Divide and Conquer`,`Bucket Sort`,`Counting`,`Quickselect`,`Sorting`,`Heap (Priority Queue)` | Medium | |
-| 0348 | [Design Tic-Tac-Toe](/solution/0300-0399/0348.Design%20Tic-Tac-Toe/README_EN.md) | `Design`,`Array`,`Hash Table`,`Matrix` | Medium | 🔒 |
+| 0348 | [Design Tic-Tac-Toe](/solution/0300-0399/0348.Design%20Tic-Tac-Toe/README_EN.md) | `Design`,`Array`,`Hash Table`,`Matrix`,`Simulation` | Medium | 🔒 |
| 0349 | [Intersection of Two Arrays](/solution/0300-0399/0349.Intersection%20of%20Two%20Arrays/README_EN.md) | `Array`,`Hash Table`,`Two Pointers`,`Binary Search`,`Sorting` | Easy | |
| 0350 | [Intersection of Two Arrays II](/solution/0300-0399/0350.Intersection%20of%20Two%20Arrays%20II/README_EN.md) | `Array`,`Hash Table`,`Two Pointers`,`Binary Search`,`Sorting` | Easy | |
| 0351 | [Android Unlock Patterns](/solution/0300-0399/0351.Android%20Unlock%20Patterns/README_EN.md) | `Dynamic Programming`,`Backtracking` | Medium | 🔒 |
| 0352 | [Data Stream as Disjoint Intervals](/solution/0300-0399/0352.Data%20Stream%20as%20Disjoint%20Intervals/README_EN.md) | `Design`,`Binary Search`,`Ordered Set` | Hard | |
-| 0353 | [Design Snake Game](/solution/0300-0399/0353.Design%20Snake%20Game/README_EN.md) | `Design`,`Queue`,`Array`,`Matrix` | Medium | 🔒 |
+| 0353 | [Design Snake Game](/solution/0300-0399/0353.Design%20Snake%20Game/README_EN.md) | `Design`,`Queue`,`Array`,`Hash Table`,`Simulation` | Medium | 🔒 |
| 0354 | [Russian Doll Envelopes](/solution/0300-0399/0354.Russian%20Doll%20Envelopes/README_EN.md) | `Array`,`Binary Search`,`Dynamic Programming`,`Sorting` | Hard | |
| 0355 | [Design Twitter](/solution/0300-0399/0355.Design%20Twitter/README_EN.md) | `Design`,`Hash Table`,`Linked List`,`Heap (Priority Queue)` | Medium | |
| 0356 | [Line Reflection](/solution/0300-0399/0356.Line%20Reflection/README_EN.md) | `Array`,`Hash Table`,`Math` | Medium | 🔒 |
| 0357 | [Count Numbers with Unique Digits](/solution/0300-0399/0357.Count%20Numbers%20with%20Unique%20Digits/README_EN.md) | `Math`,`Dynamic Programming`,`Backtracking` | Medium | |
| 0358 | [Rearrange String k Distance Apart](/solution/0300-0399/0358.Rearrange%20String%20k%20Distance%20Apart/README_EN.md) | `Greedy`,`Hash Table`,`String`,`Counting`,`Sorting`,`Heap (Priority Queue)` | Hard | 🔒 |
-| 0359 | [Logger Rate Limiter](/solution/0300-0399/0359.Logger%20Rate%20Limiter/README_EN.md) | `Design`,`Hash Table` | Easy | 🔒 |
| 0360 | [Sort Transformed Array](/solution/0300-0399/0360.Sort%20Transformed%20Array/README_EN.md) | `Array`,`Math`,`Two Pointers`,`Sorting` | Medium | 🔒 |
| 0361 | [Bomb Enemy](/solution/0300-0399/0361.Bomb%20Enemy/README_EN.md) | `Array`,`Dynamic Programming`,`Matrix` | Medium | 🔒 |
| 0362 | [Design Hit Counter](/solution/0300-0399/0362.Design%20Hit%20Counter/README_EN.md) | `Design`,`Queue`,`Array`,`Hash Table`,`Binary Search` | Medium | 🔒 |
@@ -375,8 +373,6 @@ Press Control + F(or Command + F on
| 0364 | [Nested List Weight Sum II](/solution/0300-0399/0364.Nested%20List%20Weight%20Sum%20II/README_EN.md) | `Stack`,`Depth-First Search`,`Breadth-First Search` | Medium | 🔒 |
| 0365 | [Water and Jug Problem](/solution/0300-0399/0365.Water%20and%20Jug%20Problem/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Math` | Medium | |
| 0366 | [Find Leaves of Binary Tree](/solution/0300-0399/0366.Find%20Leaves%20of%20Binary%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | 🔒 |
-| 0367 | [Valid Perfect Square](/solution/0300-0399/0367.Valid%20Perfect%20Square/README_EN.md) | `Math`,`Binary Search` | Easy | |
-| 0368 | [Largest Divisible Subset](/solution/0300-0399/0368.Largest%20Divisible%20Subset/README_EN.md) | `Array`,`Math`,`Dynamic Programming`,`Sorting` | Medium | |
| 0369 | [Plus One Linked List](/solution/0300-0399/0369.Plus%20One%20Linked%20List/README_EN.md) | `Linked List`,`Math` | Medium | 🔒 |
| 0370 | [Range Addition](/solution/0300-0399/0370.Range%20Addition/README_EN.md) | `Array`,`Prefix Sum` | Medium | 🔒 |
| 0371 | [Sum of Two Integers](/solution/0300-0399/0371.Sum%20of%20Two%20Integers/README_EN.md) | `Bit Manipulation`,`Math` | Medium | |
@@ -498,7 +494,7 @@ Press Control + F(or Command + F on
| 0487 | [Max Consecutive Ones II](/solution/0400-0499/0487.Max%20Consecutive%20Ones%20II/README_EN.md) | `Array`,`Dynamic Programming`,`Sliding Window` | Medium | 🔒 |
| 0488 | [Zuma Game](/solution/0400-0499/0488.Zuma%20Game/README_EN.md) | `Stack`,`Breadth-First Search`,`Memoization`,`String`,`Dynamic Programming` | Hard | |
| 0489 | [Robot Room Cleaner](/solution/0400-0499/0489.Robot%20Room%20Cleaner/README_EN.md) | `Backtracking`,`Interactive` | Hard | 🔒 |
-| 0490 | [The Maze](/solution/0400-0499/0490.The%20Maze/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph` | Medium | 🔒 |
+| 0490 | [The Maze](/solution/0400-0499/0490.The%20Maze/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Array`,`Matrix` | Medium | 🔒 |
| 0491 | [Non-decreasing Subsequences](/solution/0400-0499/0491.Non-decreasing%20Subsequences/README_EN.md) | `Bit Manipulation`,`Array`,`Hash Table`,`Backtracking` | Medium | |
| 0492 | [Construct the Rectangle](/solution/0400-0499/0492.Construct%20the%20Rectangle/README_EN.md) | `Math` | Easy | |
| 0493 | [Reverse Pairs](/solution/0400-0499/0493.Reverse%20Pairs/README_EN.md) | `Binary Indexed Tree`,`Segment Tree`,`Array`,`Binary Search`,`Divide and Conquer`,`Ordered Set`,`Merge Sort` | Hard | |
@@ -507,13 +503,13 @@ Press Control + F(or Command + F on
| 0496 | [Next Greater Element I](/solution/0400-0499/0496.Next%20Greater%20Element%20I/README_EN.md) | `Stack`,`Array`,`Hash Table`,`Monotonic Stack` | Easy | |
| 0497 | [Random Point in Non-overlapping Rectangles](/solution/0400-0499/0497.Random%20Point%20in%20Non-overlapping%20Rectangles/README_EN.md) | `Reservoir Sampling`,`Array`,`Math`,`Binary Search`,`Ordered Set`,`Prefix Sum`,`Randomized` | Medium | |
| 0498 | [Diagonal Traverse](/solution/0400-0499/0498.Diagonal%20Traverse/README_EN.md) | `Array`,`Matrix`,`Simulation` | Medium | |
-| 0499 | [The Maze III](/solution/0400-0499/0499.The%20Maze%20III/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph`,`Shortest Path`,`Heap (Priority Queue)` | Hard | 🔒 |
+| 0499 | [The Maze III](/solution/0400-0499/0499.The%20Maze%20III/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph`,`Array`,`String`,`Matrix`,`Shortest Path`,`Heap (Priority Queue)` | Hard | 🔒 |
| 0500 | [Keyboard Row](/solution/0500-0599/0500.Keyboard%20Row/README_EN.md) | `Array`,`Hash Table`,`String` | Easy | |
| 0501 | [Find Mode in Binary Search Tree](/solution/0500-0599/0501.Find%20Mode%20in%20Binary%20Search%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Search Tree`,`Binary Tree` | Easy | |
| 0502 | [IPO](/solution/0500-0599/0502.IPO/README_EN.md) | `Greedy`,`Array`,`Sorting`,`Heap (Priority Queue)` | Hard | |
| 0503 | [Next Greater Element II](/solution/0500-0599/0503.Next%20Greater%20Element%20II/README_EN.md) | `Stack`,`Array`,`Monotonic Stack` | Medium | |
| 0504 | [Base 7](/solution/0500-0599/0504.Base%207/README_EN.md) | `Math` | Easy | |
-| 0505 | [The Maze II](/solution/0500-0599/0505.The%20Maze%20II/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph`,`Shortest Path`,`Heap (Priority Queue)` | Medium | 🔒 |
+| 0505 | [The Maze II](/solution/0500-0599/0505.The%20Maze%20II/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph`,`Array`,`Matrix`,`Shortest Path`,`Heap (Priority Queue)` | Medium | 🔒 |
| 0506 | [Relative Ranks](/solution/0500-0599/0506.Relative%20Ranks/README_EN.md) | `Array`,`Sorting`,`Heap (Priority Queue)` | Easy | |
| 0507 | [Perfect Number](/solution/0500-0599/0507.Perfect%20Number/README_EN.md) | `Math` | Easy | |
| 0508 | [Most Frequent Subtree Sum](/solution/0500-0599/0508.Most%20Frequent%20Subtree%20Sum/README_EN.md) | `Tree`,`Depth-First Search`,`Hash Table`,`Binary Tree` | Medium | |
@@ -639,7 +635,7 @@ Press Control + F(or Command + F on
| 0628 | [Maximum Product of Three Numbers](/solution/0600-0699/0628.Maximum%20Product%20of%20Three%20Numbers/README_EN.md) | `Array`,`Math`,`Sorting` | Easy | |
| 0629 | [K Inverse Pairs Array](/solution/0600-0699/0629.K%20Inverse%20Pairs%20Array/README_EN.md) | `Dynamic Programming` | Hard | |
| 0630 | [Course Schedule III](/solution/0600-0699/0630.Course%20Schedule%20III/README_EN.md) | `Greedy`,`Array`,`Sorting`,`Heap (Priority Queue)` | Hard | |
-| 0631 | [Design Excel Sum Formula](/solution/0600-0699/0631.Design%20Excel%20Sum%20Formula/README_EN.md) | `Graph`,`Design`,`Topological Sort` | Hard | 🔒 |
+| 0631 | [Design Excel Sum Formula](/solution/0600-0699/0631.Design%20Excel%20Sum%20Formula/README_EN.md) | `Graph`,`Design`,`Topological Sort`,`Array`,`Matrix` | Hard | 🔒 |
| 0632 | [Smallest Range Covering Elements from K Lists](/solution/0600-0699/0632.Smallest%20Range%20Covering%20Elements%20from%20K%20Lists/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Sorting`,`Sliding Window`,`Heap (Priority Queue)` | Hard | |
| 0633 | [Sum of Square Numbers](/solution/0600-0699/0633.Sum%20of%20Square%20Numbers/README_EN.md) | `Math`,`Two Pointers`,`Binary Search` | Medium | |
| 0634 | [Find the Derangement of An Array](/solution/0600-0699/0634.Find%20the%20Derangement%20of%20An%20Array/README_EN.md) | `Math`,`Dynamic Programming` | Medium | 🔒 |
@@ -674,7 +670,7 @@ Press Control + F(or Command + F on
| 0663 | [Equal Tree Partition](/solution/0600-0699/0663.Equal%20Tree%20Partition/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | 🔒 |
| 0664 | [Strange Printer](/solution/0600-0699/0664.Strange%20Printer/README_EN.md) | `String`,`Dynamic Programming` | Hard | |
| 0665 | [Non-decreasing Array](/solution/0600-0699/0665.Non-decreasing%20Array/README_EN.md) | `Array` | Medium | |
-| 0666 | [Path Sum IV](/solution/0600-0699/0666.Path%20Sum%20IV/README_EN.md) | `Tree`,`Depth-First Search`,`Array`,`Binary Tree` | Medium | 🔒 |
+| 0666 | [Path Sum IV](/solution/0600-0699/0666.Path%20Sum%20IV/README_EN.md) | `Tree`,`Depth-First Search`,`Array`,`Hash Table`,`Binary Tree` | Medium | 🔒 |
| 0667 | [Beautiful Arrangement II](/solution/0600-0699/0667.Beautiful%20Arrangement%20II/README_EN.md) | `Array`,`Math` | Medium | |
| 0668 | [Kth Smallest Number in Multiplication Table](/solution/0600-0699/0668.Kth%20Smallest%20Number%20in%20Multiplication%20Table/README_EN.md) | `Math`,`Binary Search` | Hard | |
| 0669 | [Trim a Binary Search Tree](/solution/0600-0699/0669.Trim%20a%20Binary%20Search%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Search Tree`,`Binary Tree` | Medium | |
@@ -729,7 +725,7 @@ Press Control + F(or Command + F on
| 0718 | [Maximum Length of Repeated Subarray](/solution/0700-0799/0718.Maximum%20Length%20of%20Repeated%20Subarray/README_EN.md) | `Array`,`Binary Search`,`Dynamic Programming`,`Sliding Window`,`Hash Function`,`Rolling Hash` | Medium | |
| 0719 | [Find K-th Smallest Pair Distance](/solution/0700-0799/0719.Find%20K-th%20Smallest%20Pair%20Distance/README_EN.md) | `Array`,`Two Pointers`,`Binary Search`,`Sorting` | Hard | |
| 0720 | [Longest Word in Dictionary](/solution/0700-0799/0720.Longest%20Word%20in%20Dictionary/README_EN.md) | `Trie`,`Array`,`Hash Table`,`String`,`Sorting` | Medium | |
-| 0721 | [Accounts Merge](/solution/0700-0799/0721.Accounts%20Merge/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`String` | Medium | |
+| 0721 | [Accounts Merge](/solution/0700-0799/0721.Accounts%20Merge/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Hash Table`,`String`,`Sorting` | Medium | |
| 0722 | [Remove Comments](/solution/0700-0799/0722.Remove%20Comments/README_EN.md) | `Array`,`String` | Medium | |
| 0723 | [Candy Crush](/solution/0700-0799/0723.Candy%20Crush/README_EN.md) | `Array`,`Two Pointers`,`Matrix`,`Simulation` | Medium | 🔒 |
| 0724 | [Find Pivot Index](/solution/0700-0799/0724.Find%20Pivot%20Index/README_EN.md) | `Array`,`Prefix Sum` | Easy | |
@@ -802,7 +798,7 @@ Press Control + F(or Command + F on
| 0791 | [Custom Sort String](/solution/0700-0799/0791.Custom%20Sort%20String/README_EN.md) | `Hash Table`,`String`,`Sorting` | Medium | |
| 0792 | [Number of Matching Subsequences](/solution/0700-0799/0792.Number%20of%20Matching%20Subsequences/README_EN.md) | `Trie`,`Array`,`Hash Table`,`String`,`Binary Search`,`Dynamic Programming`,`Sorting` | Medium | |
| 0793 | [Preimage Size of Factorial Zeroes Function](/solution/0700-0799/0793.Preimage%20Size%20of%20Factorial%20Zeroes%20Function/README_EN.md) | `Math`,`Binary Search` | Hard | |
-| 0794 | [Valid Tic-Tac-Toe State](/solution/0700-0799/0794.Valid%20Tic-Tac-Toe%20State/README_EN.md) | `Array`,`String` | Medium | |
+| 0794 | [Valid Tic-Tac-Toe State](/solution/0700-0799/0794.Valid%20Tic-Tac-Toe%20State/README_EN.md) | `Array`,`Matrix` | Medium | |
| 0795 | [Number of Subarrays with Bounded Maximum](/solution/0700-0799/0795.Number%20of%20Subarrays%20with%20Bounded%20Maximum/README_EN.md) | `Array`,`Two Pointers` | Medium | |
| 0796 | [Rotate String](/solution/0700-0799/0796.Rotate%20String/README_EN.md) | `String`,`String Matching` | Easy | |
| 0797 | [All Paths From Source to Target](/solution/0700-0799/0797.All%20Paths%20From%20Source%20to%20Target/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph`,`Backtracking` | Medium | |
@@ -824,10 +820,10 @@ Press Control + F(or Command + F on
| 0813 | [Largest Sum of Averages](/solution/0800-0899/0813.Largest%20Sum%20of%20Averages/README_EN.md) | `Array`,`Dynamic Programming`,`Prefix Sum` | Medium | |
| 0814 | [Binary Tree Pruning](/solution/0800-0899/0814.Binary%20Tree%20Pruning/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | |
| 0815 | [Bus Routes](/solution/0800-0899/0815.Bus%20Routes/README_EN.md) | `Breadth-First Search`,`Array`,`Hash Table` | Hard | |
-| 0816 | [Ambiguous Coordinates](/solution/0800-0899/0816.Ambiguous%20Coordinates/README_EN.md) | `String`,`Backtracking` | Medium | |
+| 0816 | [Ambiguous Coordinates](/solution/0800-0899/0816.Ambiguous%20Coordinates/README_EN.md) | `String`,`Backtracking`,`Enumeration` | Medium | |
| 0817 | [Linked List Components](/solution/0800-0899/0817.Linked%20List%20Components/README_EN.md) | `Array`,`Hash Table`,`Linked List` | Medium | |
| 0818 | [Race Car](/solution/0800-0899/0818.Race%20Car/README_EN.md) | `Dynamic Programming` | Hard | |
-| 0819 | [Most Common Word](/solution/0800-0899/0819.Most%20Common%20Word/README_EN.md) | `Hash Table`,`String`,`Counting` | Easy | |
+| 0819 | [Most Common Word](/solution/0800-0899/0819.Most%20Common%20Word/README_EN.md) | `Array`,`Hash Table`,`String`,`Counting` | Easy | |
| 0820 | [Short Encoding of Words](/solution/0800-0899/0820.Short%20Encoding%20of%20Words/README_EN.md) | `Trie`,`Array`,`Hash Table`,`String` | Medium | |
| 0821 | [Shortest Distance to a Character](/solution/0800-0899/0821.Shortest%20Distance%20to%20a%20Character/README_EN.md) | `Array`,`Two Pointers`,`String` | Easy | |
| 0822 | [Card Flipping Game](/solution/0800-0899/0822.Card%20Flipping%20Game/README_EN.md) | `Array`,`Hash Table` | Medium | |
@@ -840,14 +836,14 @@ Press Control + F(or Command + F on
| 0829 | [Consecutive Numbers Sum](/solution/0800-0899/0829.Consecutive%20Numbers%20Sum/README_EN.md) | `Math`,`Enumeration` | Hard | Weekly Contest 83 |
| 0830 | [Positions of Large Groups](/solution/0800-0899/0830.Positions%20of%20Large%20Groups/README_EN.md) | `String` | Easy | Weekly Contest 83 |
| 0831 | [Masking Personal Information](/solution/0800-0899/0831.Masking%20Personal%20Information/README_EN.md) | `String` | Medium | Weekly Contest 83 |
-| 0832 | [Flipping an Image](/solution/0800-0899/0832.Flipping%20an%20Image/README_EN.md) | `Array`,`Two Pointers`,`Matrix`,`Simulation` | Easy | Weekly Contest 84 |
+| 0832 | [Flipping an Image](/solution/0800-0899/0832.Flipping%20an%20Image/README_EN.md) | `Bit Manipulation`,`Array`,`Two Pointers`,`Matrix`,`Simulation` | Easy | Weekly Contest 84 |
| 0833 | [Find And Replace in String](/solution/0800-0899/0833.Find%20And%20Replace%20in%20String/README_EN.md) | `Array`,`String`,`Sorting` | Medium | Weekly Contest 84 |
| 0834 | [Sum of Distances in Tree](/solution/0800-0899/0834.Sum%20of%20Distances%20in%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Graph`,`Dynamic Programming` | Hard | Weekly Contest 84 |
| 0835 | [Image Overlap](/solution/0800-0899/0835.Image%20Overlap/README_EN.md) | `Array`,`Matrix` | Medium | Weekly Contest 84 |
| 0836 | [Rectangle Overlap](/solution/0800-0899/0836.Rectangle%20Overlap/README_EN.md) | `Geometry`,`Math` | Easy | Weekly Contest 85 |
| 0837 | [New 21 Game](/solution/0800-0899/0837.New%2021%20Game/README_EN.md) | `Math`,`Dynamic Programming`,`Sliding Window`,`Probability and Statistics` | Medium | Weekly Contest 85 |
| 0838 | [Push Dominoes](/solution/0800-0899/0838.Push%20Dominoes/README_EN.md) | `Two Pointers`,`String`,`Dynamic Programming` | Medium | Weekly Contest 85 |
-| 0839 | [Similar String Groups](/solution/0800-0899/0839.Similar%20String%20Groups/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`String` | Hard | Weekly Contest 85 |
+| 0839 | [Similar String Groups](/solution/0800-0899/0839.Similar%20String%20Groups/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Hash Table`,`String` | Hard | Weekly Contest 85 |
| 0840 | [Magic Squares In Grid](/solution/0800-0899/0840.Magic%20Squares%20In%20Grid/README_EN.md) | `Array`,`Math`,`Matrix` | Medium | Weekly Contest 86 |
| 0841 | [Keys and Rooms](/solution/0800-0899/0841.Keys%20and%20Rooms/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph` | Medium | Weekly Contest 86 |
| 0842 | [Split Array into Fibonacci Sequence](/solution/0800-0899/0842.Split%20Array%20into%20Fibonacci%20Sequence/README_EN.md) | `String`,`Backtracking` | Medium | Weekly Contest 86 |
@@ -856,7 +852,7 @@ Press Control + F(or Command + F on
| 0845 | [Longest Mountain in Array](/solution/0800-0899/0845.Longest%20Mountain%20in%20Array/README_EN.md) | `Array`,`Two Pointers`,`Dynamic Programming`,`Enumeration` | Medium | Weekly Contest 87 |
| 0846 | [Hand of Straights](/solution/0800-0899/0846.Hand%20of%20Straights/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Sorting` | Medium | Weekly Contest 87 |
| 0847 | [Shortest Path Visiting All Nodes](/solution/0800-0899/0847.Shortest%20Path%20Visiting%20All%20Nodes/README_EN.md) | `Bit Manipulation`,`Breadth-First Search`,`Graph`,`Dynamic Programming`,`Bitmask` | Hard | Weekly Contest 87 |
-| 0848 | [Shifting Letters](/solution/0800-0899/0848.Shifting%20Letters/README_EN.md) | `Array`,`String` | Medium | Weekly Contest 88 |
+| 0848 | [Shifting Letters](/solution/0800-0899/0848.Shifting%20Letters/README_EN.md) | `Array`,`String`,`Prefix Sum` | Medium | Weekly Contest 88 |
| 0849 | [Maximize Distance to Closest Person](/solution/0800-0899/0849.Maximize%20Distance%20to%20Closest%20Person/README_EN.md) | `Array` | Medium | Weekly Contest 88 |
| 0850 | [Rectangle Area II](/solution/0800-0899/0850.Rectangle%20Area%20II/README_EN.md) | `Segment Tree`,`Array`,`Ordered Set`,`Line Sweep` | Hard | Weekly Contest 88 |
| 0851 | [Loud and Rich](/solution/0800-0899/0851.Loud%20and%20Rich/README_EN.md) | `Depth-First Search`,`Graph`,`Topological Sort`,`Array` | Medium | Weekly Contest 88 |
@@ -901,7 +897,7 @@ Press Control + F(or Command + F on
| 0890 | [Find and Replace Pattern](/solution/0800-0899/0890.Find%20and%20Replace%20Pattern/README_EN.md) | `Array`,`Hash Table`,`String` | Medium | Weekly Contest 98 |
| 0891 | [Sum of Subsequence Widths](/solution/0800-0899/0891.Sum%20of%20Subsequence%20Widths/README_EN.md) | `Array`,`Math`,`Sorting` | Hard | Weekly Contest 98 |
| 0892 | [Surface Area of 3D Shapes](/solution/0800-0899/0892.Surface%20Area%20of%203D%20Shapes/README_EN.md) | `Geometry`,`Array`,`Math`,`Matrix` | Easy | Weekly Contest 99 |
-| 0893 | [Groups of Special-Equivalent Strings](/solution/0800-0899/0893.Groups%20of%20Special-Equivalent%20Strings/README_EN.md) | `Array`,`Hash Table`,`String` | Medium | Weekly Contest 99 |
+| 0893 | [Groups of Special-Equivalent Strings](/solution/0800-0899/0893.Groups%20of%20Special-Equivalent%20Strings/README_EN.md) | `Array`,`Hash Table`,`String`,`Sorting` | Medium | Weekly Contest 99 |
| 0894 | [All Possible Full Binary Trees](/solution/0800-0899/0894.All%20Possible%20Full%20Binary%20Trees/README_EN.md) | `Tree`,`Recursion`,`Memoization`,`Dynamic Programming`,`Binary Tree` | Medium | Weekly Contest 99 |
| 0895 | [Maximum Frequency Stack](/solution/0800-0899/0895.Maximum%20Frequency%20Stack/README_EN.md) | `Stack`,`Design`,`Hash Table`,`Ordered Set` | Hard | Weekly Contest 99 |
| 0896 | [Monotonic Array](/solution/0800-0899/0896.Monotonic%20Array/README_EN.md) | `Array` | Easy | Weekly Contest 100 |
@@ -932,11 +928,11 @@ Press Control + F(or Command + F on
| 0921 | [Minimum Add to Make Parentheses Valid](/solution/0900-0999/0921.Minimum%20Add%20to%20Make%20Parentheses%20Valid/README_EN.md) | `Stack`,`Greedy`,`String` | Medium | Weekly Contest 106 |
| 0922 | [Sort Array By Parity II](/solution/0900-0999/0922.Sort%20Array%20By%20Parity%20II/README_EN.md) | `Array`,`Two Pointers`,`Sorting` | Easy | Weekly Contest 106 |
| 0923 | [3Sum With Multiplicity](/solution/0900-0999/0923.3Sum%20With%20Multiplicity/README_EN.md) | `Array`,`Hash Table`,`Two Pointers`,`Counting`,`Sorting` | Medium | Weekly Contest 106 |
-| 0924 | [Minimize Malware Spread](/solution/0900-0999/0924.Minimize%20Malware%20Spread/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Matrix` | Hard | Weekly Contest 106 |
+| 0924 | [Minimize Malware Spread](/solution/0900-0999/0924.Minimize%20Malware%20Spread/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Graph`,`Hash Table` | Hard | Weekly Contest 106 |
| 0925 | [Long Pressed Name](/solution/0900-0999/0925.Long%20Pressed%20Name/README_EN.md) | `Two Pointers`,`String` | Easy | Weekly Contest 107 |
| 0926 | [Flip String to Monotone Increasing](/solution/0900-0999/0926.Flip%20String%20to%20Monotone%20Increasing/README_EN.md) | `String`,`Dynamic Programming` | Medium | Weekly Contest 107 |
| 0927 | [Three Equal Parts](/solution/0900-0999/0927.Three%20Equal%20Parts/README_EN.md) | `Array`,`Math` | Hard | Weekly Contest 107 |
-| 0928 | [Minimize Malware Spread II](/solution/0900-0999/0928.Minimize%20Malware%20Spread%20II/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Matrix` | Hard | Weekly Contest 107 |
+| 0928 | [Minimize Malware Spread II](/solution/0900-0999/0928.Minimize%20Malware%20Spread%20II/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Graph`,`Hash Table` | Hard | Weekly Contest 107 |
| 0929 | [Unique Email Addresses](/solution/0900-0999/0929.Unique%20Email%20Addresses/README_EN.md) | `Array`,`Hash Table`,`String` | Easy | Weekly Contest 108 |
| 0930 | [Binary Subarrays With Sum](/solution/0900-0999/0930.Binary%20Subarrays%20With%20Sum/README_EN.md) | `Array`,`Hash Table`,`Prefix Sum`,`Sliding Window` | Medium | Weekly Contest 108 |
| 0931 | [Minimum Falling Path Sum](/solution/0900-0999/0931.Minimum%20Falling%20Path%20Sum/README_EN.md) | `Array`,`Dynamic Programming`,`Matrix` | Medium | Weekly Contest 108 |
@@ -955,19 +951,19 @@ Press Control + F(or Command + F on
| 0944 | [Delete Columns to Make Sorted](/solution/0900-0999/0944.Delete%20Columns%20to%20Make%20Sorted/README_EN.md) | `Array`,`String` | Easy | Weekly Contest 111 |
| 0945 | [Minimum Increment to Make Array Unique](/solution/0900-0999/0945.Minimum%20Increment%20to%20Make%20Array%20Unique/README_EN.md) | `Greedy`,`Array`,`Counting`,`Sorting` | Medium | Weekly Contest 112 |
| 0946 | [Validate Stack Sequences](/solution/0900-0999/0946.Validate%20Stack%20Sequences/README_EN.md) | `Stack`,`Array`,`Simulation` | Medium | Weekly Contest 112 |
-| 0947 | [Most Stones Removed with Same Row or Column](/solution/0900-0999/0947.Most%20Stones%20Removed%20with%20Same%20Row%20or%20Column/README_EN.md) | `Depth-First Search`,`Union Find`,`Graph` | Medium | Weekly Contest 112 |
+| 0947 | [Most Stones Removed with Same Row or Column](/solution/0900-0999/0947.Most%20Stones%20Removed%20with%20Same%20Row%20or%20Column/README_EN.md) | `Depth-First Search`,`Union Find`,`Graph`,`Hash Table` | Medium | Weekly Contest 112 |
| 0948 | [Bag of Tokens](/solution/0900-0999/0948.Bag%20of%20Tokens/README_EN.md) | `Greedy`,`Array`,`Two Pointers`,`Sorting` | Medium | Weekly Contest 112 |
-| 0949 | [Largest Time for Given Digits](/solution/0900-0999/0949.Largest%20Time%20for%20Given%20Digits/README_EN.md) | `String`,`Enumeration` | Medium | Weekly Contest 113 |
+| 0949 | [Largest Time for Given Digits](/solution/0900-0999/0949.Largest%20Time%20for%20Given%20Digits/README_EN.md) | `Array`,`String`,`Enumeration` | Medium | Weekly Contest 113 |
| 0950 | [Reveal Cards In Increasing Order](/solution/0900-0999/0950.Reveal%20Cards%20In%20Increasing%20Order/README_EN.md) | `Queue`,`Array`,`Sorting`,`Simulation` | Medium | Weekly Contest 113 |
| 0951 | [Flip Equivalent Binary Trees](/solution/0900-0999/0951.Flip%20Equivalent%20Binary%20Trees/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | Weekly Contest 113 |
-| 0952 | [Largest Component Size by Common Factor](/solution/0900-0999/0952.Largest%20Component%20Size%20by%20Common%20Factor/README_EN.md) | `Union Find`,`Array`,`Math`,`Number Theory` | Hard | Weekly Contest 113 |
+| 0952 | [Largest Component Size by Common Factor](/solution/0900-0999/0952.Largest%20Component%20Size%20by%20Common%20Factor/README_EN.md) | `Union Find`,`Array`,`Hash Table`,`Math`,`Number Theory` | Hard | Weekly Contest 113 |
| 0953 | [Verifying an Alien Dictionary](/solution/0900-0999/0953.Verifying%20an%20Alien%20Dictionary/README_EN.md) | `Array`,`Hash Table`,`String` | Easy | Weekly Contest 114 |
| 0954 | [Array of Doubled Pairs](/solution/0900-0999/0954.Array%20of%20Doubled%20Pairs/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Sorting` | Medium | Weekly Contest 114 |
| 0955 | [Delete Columns to Make Sorted II](/solution/0900-0999/0955.Delete%20Columns%20to%20Make%20Sorted%20II/README_EN.md) | `Greedy`,`Array`,`String` | Medium | Weekly Contest 114 |
| 0956 | [Tallest Billboard](/solution/0900-0999/0956.Tallest%20Billboard/README_EN.md) | `Array`,`Dynamic Programming` | Hard | Weekly Contest 114 |
| 0957 | [Prison Cells After N Days](/solution/0900-0999/0957.Prison%20Cells%20After%20N%20Days/README_EN.md) | `Bit Manipulation`,`Array`,`Hash Table`,`Math` | Medium | Weekly Contest 115 |
| 0958 | [Check Completeness of a Binary Tree](/solution/0900-0999/0958.Check%20Completeness%20of%20a%20Binary%20Tree/README_EN.md) | `Tree`,`Breadth-First Search`,`Binary Tree` | Medium | Weekly Contest 115 |
-| 0959 | [Regions Cut By Slashes](/solution/0900-0999/0959.Regions%20Cut%20By%20Slashes/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Graph` | Medium | Weekly Contest 115 |
+| 0959 | [Regions Cut By Slashes](/solution/0900-0999/0959.Regions%20Cut%20By%20Slashes/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Hash Table`,`Matrix` | Medium | Weekly Contest 115 |
| 0960 | [Delete Columns to Make Sorted III](/solution/0900-0999/0960.Delete%20Columns%20to%20Make%20Sorted%20III/README_EN.md) | `Array`,`String`,`Dynamic Programming` | Hard | Weekly Contest 115 |
| 0961 | [N-Repeated Element in Size 2N Array](/solution/0900-0999/0961.N-Repeated%20Element%20in%20Size%202N%20Array/README_EN.md) | `Array`,`Hash Table` | Easy | Weekly Contest 116 |
| 0962 | [Maximum Width Ramp](/solution/0900-0999/0962.Maximum%20Width%20Ramp/README_EN.md) | `Stack`,`Array`,`Monotonic Stack` | Medium | Weekly Contest 116 |
@@ -1094,7 +1090,7 @@ Press Control + F(or Command + F on
| 1083 | [Sales Analysis II](/solution/1000-1099/1083.Sales%20Analysis%20II/README_EN.md) | `Database` | Easy | 🔒 |
| 1084 | [Sales Analysis III](/solution/1000-1099/1084.Sales%20Analysis%20III/README_EN.md) | `Database` | Easy | |
| 1085 | [Sum of Digits in the Minimum Number](/solution/1000-1099/1085.Sum%20of%20Digits%20in%20the%20Minimum%20Number/README_EN.md) | `Array`,`Math` | Easy | Biweekly Contest 2 |
-| 1086 | [High Five](/solution/1000-1099/1086.High%20Five/README_EN.md) | `Array`,`Hash Table`,`Sorting` | Easy | Biweekly Contest 2 |
+| 1086 | [High Five](/solution/1000-1099/1086.High%20Five/README_EN.md) | `Array`,`Hash Table`,`Sorting`,`Heap (Priority Queue)` | Easy | Biweekly Contest 2 |
| 1087 | [Brace Expansion](/solution/1000-1099/1087.Brace%20Expansion/README_EN.md) | `Breadth-First Search`,`String`,`Backtracking` | Medium | Biweekly Contest 2 |
| 1088 | [Confusing Number II](/solution/1000-1099/1088.Confusing%20Number%20II/README_EN.md) | `Math`,`Backtracking` | Hard | Biweekly Contest 2 |
| 1089 | [Duplicate Zeros](/solution/1000-1099/1089.Duplicate%20Zeros/README_EN.md) | `Array`,`Two Pointers` | Easy | Weekly Contest 141 |
@@ -1109,7 +1105,7 @@ Press Control + F(or Command + F on
| 1098 | [Unpopular Books](/solution/1000-1099/1098.Unpopular%20Books/README_EN.md) | `Database` | Medium | 🔒 |
| 1099 | [Two Sum Less Than K](/solution/1000-1099/1099.Two%20Sum%20Less%20Than%20K/README_EN.md) | `Array`,`Two Pointers`,`Binary Search`,`Sorting` | Easy | Biweekly Contest 3 |
| 1100 | [Find K-Length Substrings With No Repeated Characters](/solution/1100-1199/1100.Find%20K-Length%20Substrings%20With%20No%20Repeated%20Characters/README_EN.md) | `Hash Table`,`String`,`Sliding Window` | Medium | Biweekly Contest 3 |
-| 1101 | [The Earliest Moment When Everyone Become Friends](/solution/1100-1199/1101.The%20Earliest%20Moment%20When%20Everyone%20Become%20Friends/README_EN.md) | `Union Find`,`Array` | Medium | Biweekly Contest 3 |
+| 1101 | [The Earliest Moment When Everyone Become Friends](/solution/1100-1199/1101.The%20Earliest%20Moment%20When%20Everyone%20Become%20Friends/README_EN.md) | `Union Find`,`Array`,`Sorting` | Medium | Biweekly Contest 3 |
| 1102 | [Path With Maximum Minimum Value](/solution/1100-1199/1102.Path%20With%20Maximum%20Minimum%20Value/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Matrix`,`Heap (Priority Queue)` | Medium | Biweekly Contest 3 |
| 1103 | [Distribute Candies to People](/solution/1100-1199/1103.Distribute%20Candies%20to%20People/README_EN.md) | `Math`,`Simulation` | Easy | Weekly Contest 143 |
| 1104 | [Path In Zigzag Labelled Binary Tree](/solution/1100-1199/1104.Path%20In%20Zigzag%20Labelled%20Binary%20Tree/README_EN.md) | `Tree`,`Math`,`Binary Tree` | Medium | Weekly Contest 143 |
@@ -1129,7 +1125,7 @@ Press Control + F(or Command + F on
| 1118 | [Number of Days in a Month](/solution/1100-1199/1118.Number%20of%20Days%20in%20a%20Month/README_EN.md) | `Math` | Easy | Biweekly Contest 4 |
| 1119 | [Remove Vowels from a String](/solution/1100-1199/1119.Remove%20Vowels%20from%20a%20String/README_EN.md) | `String` | Easy | Biweekly Contest 4 |
| 1120 | [Maximum Average Subtree](/solution/1100-1199/1120.Maximum%20Average%20Subtree/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | Biweekly Contest 4 |
-| 1121 | [Divide Array Into Increasing Sequences](/solution/1100-1199/1121.Divide%20Array%20Into%20Increasing%20Sequences/README_EN.md) | `Greedy`,`Array` | Hard | Biweekly Contest 4 |
+| 1121 | [Divide Array Into Increasing Sequences](/solution/1100-1199/1121.Divide%20Array%20Into%20Increasing%20Sequences/README_EN.md) | `Array`,`Counting` | Hard | Biweekly Contest 4 |
| 1122 | [Relative Sort Array](/solution/1100-1199/1122.Relative%20Sort%20Array/README_EN.md) | `Array`,`Hash Table`,`Counting Sort`,`Sorting` | Easy | Weekly Contest 145 |
| 1123 | [Lowest Common Ancestor of Deepest Leaves](/solution/1100-1199/1123.Lowest%20Common%20Ancestor%20of%20Deepest%20Leaves/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Hash Table`,`Binary Tree` | Medium | Weekly Contest 145 |
| 1124 | [Longest Well-Performing Interval](/solution/1100-1199/1124.Longest%20Well-Performing%20Interval/README_EN.md) | `Stack`,`Array`,`Hash Table`,`Prefix Sum`,`Monotonic Stack` | Medium | Weekly Contest 145 |
@@ -1181,7 +1177,7 @@ Press Control + F(or Command + F on
| 1170 | [Compare Strings by Frequency of the Smallest Character](/solution/1100-1199/1170.Compare%20Strings%20by%20Frequency%20of%20the%20Smallest%20Character/README_EN.md) | `Array`,`Hash Table`,`String`,`Binary Search`,`Sorting` | Medium | Weekly Contest 151 |
| 1171 | [Remove Zero Sum Consecutive Nodes from Linked List](/solution/1100-1199/1171.Remove%20Zero%20Sum%20Consecutive%20Nodes%20from%20Linked%20List/README_EN.md) | `Hash Table`,`Linked List` | Medium | Weekly Contest 151 |
| 1172 | [Dinner Plate Stacks](/solution/1100-1199/1172.Dinner%20Plate%20Stacks/README_EN.md) | `Stack`,`Design`,`Hash Table`,`Heap (Priority Queue)` | Hard | Weekly Contest 151 |
-| 1173 | [Immediate Food Delivery I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README_EN.md) | `Database` | Easy | |
+| 1173 | [Immediate Food Delivery I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README_EN.md) | `Database` | Easy | 🔒 |
| 1174 | [Immediate Food Delivery II](/solution/1100-1199/1174.Immediate%20Food%20Delivery%20II/README_EN.md) | `Database` | Medium | |
| 1175 | [Prime Arrangements](/solution/1100-1199/1175.Prime%20Arrangements/README_EN.md) | `Math` | Easy | Weekly Contest 152 |
| 1176 | [Diet Plan Performance](/solution/1100-1199/1176.Diet%20Plan%20Performance/README_EN.md) | `Array`,`Sliding Window` | Easy | Weekly Contest 152 |
@@ -1210,7 +1206,7 @@ Press Control + F(or Command + F on
| 1199 | [Minimum Time to Build Blocks](/solution/1100-1199/1199.Minimum%20Time%20to%20Build%20Blocks/README_EN.md) | `Greedy`,`Math`,`Heap (Priority Queue)` | Hard | Biweekly Contest 9 |
| 1200 | [Minimum Absolute Difference](/solution/1200-1299/1200.Minimum%20Absolute%20Difference/README_EN.md) | `Array`,`Sorting` | Easy | Weekly Contest 155 |
| 1201 | [Ugly Number III](/solution/1200-1299/1201.Ugly%20Number%20III/README_EN.md) | `Math`,`Binary Search`,`Number Theory` | Medium | Weekly Contest 155 |
-| 1202 | [Smallest String With Swaps](/solution/1200-1299/1202.Smallest%20String%20With%20Swaps/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Hash Table`,`String` | Medium | Weekly Contest 155 |
+| 1202 | [Smallest String With Swaps](/solution/1200-1299/1202.Smallest%20String%20With%20Swaps/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Hash Table`,`String`,`Sorting` | Medium | Weekly Contest 155 |
| 1203 | [Sort Items by Groups Respecting Dependencies](/solution/1200-1299/1203.Sort%20Items%20by%20Groups%20Respecting%20Dependencies/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph`,`Topological Sort` | Hard | Weekly Contest 155 |
| 1204 | [Last Person to Fit in the Bus](/solution/1200-1299/1204.Last%20Person%20to%20Fit%20in%20the%20Bus/README_EN.md) | `Database` | Medium | |
| 1205 | [Monthly Transactions II](/solution/1200-1299/1205.Monthly%20Transactions%20II/README_EN.md) | `Database` | Medium | 🔒 |
@@ -1292,7 +1288,7 @@ Press Control + F(or Command + F on
| 1281 | [Subtract the Product and Sum of Digits of an Integer](/solution/1200-1299/1281.Subtract%20the%20Product%20and%20Sum%20of%20Digits%20of%20an%20Integer/README_EN.md) | `Math` | Easy | Weekly Contest 166 |
| 1282 | [Group the People Given the Group Size They Belong To](/solution/1200-1299/1282.Group%20the%20People%20Given%20the%20Group%20Size%20They%20Belong%20To/README_EN.md) | `Array`,`Hash Table` | Medium | Weekly Contest 166 |
| 1283 | [Find the Smallest Divisor Given a Threshold](/solution/1200-1299/1283.Find%20the%20Smallest%20Divisor%20Given%20a%20Threshold/README_EN.md) | `Array`,`Binary Search` | Medium | Weekly Contest 166 |
-| 1284 | [Minimum Number of Flips to Convert Binary Matrix to Zero Matrix](/solution/1200-1299/1284.Minimum%20Number%20of%20Flips%20to%20Convert%20Binary%20Matrix%20to%20Zero%20Matrix/README_EN.md) | `Bit Manipulation`,`Breadth-First Search`,`Array`,`Matrix` | Hard | Weekly Contest 166 |
+| 1284 | [Minimum Number of Flips to Convert Binary Matrix to Zero Matrix](/solution/1200-1299/1284.Minimum%20Number%20of%20Flips%20to%20Convert%20Binary%20Matrix%20to%20Zero%20Matrix/README_EN.md) | `Bit Manipulation`,`Breadth-First Search`,`Array`,`Hash Table`,`Matrix` | Hard | Weekly Contest 166 |
| 1285 | [Find the Start and End Number of Continuous Ranges](/solution/1200-1299/1285.Find%20the%20Start%20and%20End%20Number%20of%20Continuous%20Ranges/README_EN.md) | `Database` | Medium | 🔒 |
| 1286 | [Iterator for Combination](/solution/1200-1299/1286.Iterator%20for%20Combination/README_EN.md) | `Design`,`String`,`Backtracking`,`Iterator` | Medium | Biweekly Contest 15 |
| 1287 | [Element Appearing More Than 25% In Sorted Array](/solution/1200-1299/1287.Element%20Appearing%20More%20Than%2025%25%20In%20Sorted%20Array/README_EN.md) | `Array` | Easy | Biweekly Contest 15 |
@@ -1444,7 +1440,7 @@ Press Control + F(or Command + F on
| 1433 | [Check If a String Can Break Another String](/solution/1400-1499/1433.Check%20If%20a%20String%20Can%20Break%20Another%20String/README_EN.md) | `Greedy`,`String`,`Sorting` | Medium | Biweekly Contest 25 |
| 1434 | [Number of Ways to Wear Different Hats to Each Other](/solution/1400-1499/1434.Number%20of%20Ways%20to%20Wear%20Different%20Hats%20to%20Each%20Other/README_EN.md) | `Bit Manipulation`,`Array`,`Dynamic Programming`,`Bitmask` | Hard | Biweekly Contest 25 |
| 1435 | [Create a Session Bar Chart](/solution/1400-1499/1435.Create%20a%20Session%20Bar%20Chart/README_EN.md) | `Database` | Easy | 🔒 |
-| 1436 | [Destination City](/solution/1400-1499/1436.Destination%20City/README_EN.md) | `Hash Table`,`String` | Easy | Weekly Contest 187 |
+| 1436 | [Destination City](/solution/1400-1499/1436.Destination%20City/README_EN.md) | `Array`,`Hash Table`,`String` | Easy | Weekly Contest 187 |
| 1437 | [Check If All 1's Are at Least Length K Places Away](/solution/1400-1499/1437.Check%20If%20All%201%27s%20Are%20at%20Least%20Length%20K%20Places%20Away/README_EN.md) | `Array` | Easy | Weekly Contest 187 |
| 1438 | [Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit](/solution/1400-1499/1438.Longest%20Continuous%20Subarray%20With%20Absolute%20Diff%20Less%20Than%20or%20Equal%20to%20Limit/README_EN.md) | `Queue`,`Array`,`Ordered Set`,`Sliding Window`,`Monotonic Queue`,`Heap (Priority Queue)` | Medium | Weekly Contest 187 |
| 1439 | [Find the Kth Smallest Sum of a Matrix With Sorted Rows](/solution/1400-1499/1439.Find%20the%20Kth%20Smallest%20Sum%20of%20a%20Matrix%20With%20Sorted%20Rows/README_EN.md) | `Array`,`Binary Search`,`Matrix`,`Heap (Priority Queue)` | Hard | Weekly Contest 187 |
@@ -1491,7 +1487,7 @@ Press Control + F(or Command + F on
| 1480 | [Running Sum of 1d Array](/solution/1400-1499/1480.Running%20Sum%20of%201d%20Array/README_EN.md) | `Array`,`Prefix Sum` | Easy | Weekly Contest 193 |
| 1481 | [Least Number of Unique Integers after K Removals](/solution/1400-1499/1481.Least%20Number%20of%20Unique%20Integers%20after%20K%20Removals/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Counting`,`Sorting` | Medium | Weekly Contest 193 |
| 1482 | [Minimum Number of Days to Make m Bouquets](/solution/1400-1499/1482.Minimum%20Number%20of%20Days%20to%20Make%20m%20Bouquets/README_EN.md) | `Array`,`Binary Search` | Medium | Weekly Contest 193 |
-| 1483 | [Kth Ancestor of a Tree Node](/solution/1400-1499/1483.Kth%20Ancestor%20of%20a%20Tree%20Node/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Design`,`Binary Search` | Hard | Weekly Contest 193 |
+| 1483 | [Kth Ancestor of a Tree Node](/solution/1400-1499/1483.Kth%20Ancestor%20of%20a%20Tree%20Node/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Design`,`Binary Search`,`Dynamic Programming` | Hard | Weekly Contest 193 |
| 1484 | [Group Sold Products By The Date](/solution/1400-1499/1484.Group%20Sold%20Products%20By%20The%20Date/README_EN.md) | `Database` | Easy | |
| 1485 | [Clone Binary Tree With Random Pointer](/solution/1400-1499/1485.Clone%20Binary%20Tree%20With%20Random%20Pointer/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Hash Table`,`Binary Tree` | Medium | 🔒 |
| 1486 | [XOR Operation in an Array](/solution/1400-1499/1486.XOR%20Operation%20in%20an%20Array/README_EN.md) | `Bit Manipulation`,`Math` | Easy | Weekly Contest 194 |
@@ -1635,12 +1631,12 @@ Press Control + F(or Command + F on
| 1624 | [Largest Substring Between Two Equal Characters](/solution/1600-1699/1624.Largest%20Substring%20Between%20Two%20Equal%20Characters/README_EN.md) | `Hash Table`,`String` | Easy | Weekly Contest 211 |
| 1625 | [Lexicographically Smallest String After Applying Operations](/solution/1600-1699/1625.Lexicographically%20Smallest%20String%20After%20Applying%20Operations/README_EN.md) | `Breadth-First Search`,`String` | Medium | Weekly Contest 211 |
| 1626 | [Best Team With No Conflicts](/solution/1600-1699/1626.Best%20Team%20With%20No%20Conflicts/README_EN.md) | `Array`,`Dynamic Programming`,`Sorting` | Medium | Weekly Contest 211 |
-| 1627 | [Graph Connectivity With Threshold](/solution/1600-1699/1627.Graph%20Connectivity%20With%20Threshold/README_EN.md) | `Union Find`,`Array`,`Math` | Hard | Weekly Contest 211 |
+| 1627 | [Graph Connectivity With Threshold](/solution/1600-1699/1627.Graph%20Connectivity%20With%20Threshold/README_EN.md) | `Union Find`,`Array`,`Math`,`Number Theory` | Hard | Weekly Contest 211 |
| 1628 | [Design an Expression Tree With Evaluate Function](/solution/1600-1699/1628.Design%20an%20Expression%20Tree%20With%20Evaluate%20Function/README_EN.md) | `Stack`,`Tree`,`Design`,`Math`,`Binary Tree` | Medium | 🔒 |
| 1629 | [Slowest Key](/solution/1600-1699/1629.Slowest%20Key/README_EN.md) | `Array`,`String` | Easy | Weekly Contest 212 |
| 1630 | [Arithmetic Subarrays](/solution/1600-1699/1630.Arithmetic%20Subarrays/README_EN.md) | `Array`,`Sorting` | Medium | Weekly Contest 212 |
| 1631 | [Path With Minimum Effort](/solution/1600-1699/1631.Path%20With%20Minimum%20Effort/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Binary Search`,`Matrix`,`Heap (Priority Queue)` | Medium | Weekly Contest 212 |
-| 1632 | [Rank Transform of a Matrix](/solution/1600-1699/1632.Rank%20Transform%20of%20a%20Matrix/README_EN.md) | `Greedy`,`Union Find`,`Graph`,`Topological Sort`,`Array`,`Matrix` | Hard | Weekly Contest 212 |
+| 1632 | [Rank Transform of a Matrix](/solution/1600-1699/1632.Rank%20Transform%20of%20a%20Matrix/README_EN.md) | `Union Find`,`Graph`,`Topological Sort`,`Array`,`Matrix`,`Sorting` | Hard | Weekly Contest 212 |
| 1633 | [Percentage of Users Attended a Contest](/solution/1600-1699/1633.Percentage%20of%20Users%20Attended%20a%20Contest/README_EN.md) | `Database` | Easy | |
| 1634 | [Add Two Polynomials Represented as Linked Lists](/solution/1600-1699/1634.Add%20Two%20Polynomials%20Represented%20as%20Linked%20Lists/README_EN.md) | `Linked List`,`Math`,`Two Pointers` | Medium | 🔒 |
| 1635 | [Hopper Company Queries I](/solution/1600-1699/1635.Hopper%20Company%20Queries%20I/README_EN.md) | `Database` | Hard | 🔒 |
@@ -1658,7 +1654,7 @@ Press Control + F(or Command + F on
| 1647 | [Minimum Deletions to Make Character Frequencies Unique](/solution/1600-1699/1647.Minimum%20Deletions%20to%20Make%20Character%20Frequencies%20Unique/README_EN.md) | `Greedy`,`Hash Table`,`String`,`Sorting` | Medium | Weekly Contest 214 |
| 1648 | [Sell Diminishing-Valued Colored Balls](/solution/1600-1699/1648.Sell%20Diminishing-Valued%20Colored%20Balls/README_EN.md) | `Greedy`,`Array`,`Math`,`Binary Search`,`Sorting`,`Heap (Priority Queue)` | Medium | Weekly Contest 214 |
| 1649 | [Create Sorted Array through Instructions](/solution/1600-1699/1649.Create%20Sorted%20Array%20through%20Instructions/README_EN.md) | `Binary Indexed Tree`,`Segment Tree`,`Array`,`Binary Search`,`Divide and Conquer`,`Ordered Set`,`Merge Sort` | Hard | Weekly Contest 214 |
-| 1650 | [Lowest Common Ancestor of a Binary Tree III](/solution/1600-1699/1650.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20III/README_EN.md) | `Tree`,`Hash Table`,`Binary Tree` | Medium | 🔒 |
+| 1650 | [Lowest Common Ancestor of a Binary Tree III](/solution/1600-1699/1650.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20III/README_EN.md) | `Tree`,`Hash Table`,`Two Pointers`,`Binary Tree` | Medium | 🔒 |
| 1651 | [Hopper Company Queries III](/solution/1600-1699/1651.Hopper%20Company%20Queries%20III/README_EN.md) | `Database` | Hard | 🔒 |
| 1652 | [Defuse the Bomb](/solution/1600-1699/1652.Defuse%20the%20Bomb/README_EN.md) | `Array` | Easy | Biweekly Contest 39 |
| 1653 | [Minimum Deletions to Make String Balanced](/solution/1600-1699/1653.Minimum%20Deletions%20to%20Make%20String%20Balanced/README_EN.md) | `Stack`,`String`,`Dynamic Programming` | Medium | Biweekly Contest 39 |
@@ -1684,7 +1680,7 @@ Press Control + F(or Command + F on
| 1673 | [Find the Most Competitive Subsequence](/solution/1600-1699/1673.Find%20the%20Most%20Competitive%20Subsequence/README_EN.md) | `Stack`,`Greedy`,`Array`,`Monotonic Stack` | Medium | Weekly Contest 217 |
| 1674 | [Minimum Moves to Make Array Complementary](/solution/1600-1699/1674.Minimum%20Moves%20to%20Make%20Array%20Complementary/README_EN.md) | `Array`,`Hash Table`,`Prefix Sum` | Medium | Weekly Contest 217 |
| 1675 | [Minimize Deviation in Array](/solution/1600-1699/1675.Minimize%20Deviation%20in%20Array/README_EN.md) | `Greedy`,`Array`,`Ordered Set`,`Heap (Priority Queue)` | Hard | Weekly Contest 217 |
-| 1676 | [Lowest Common Ancestor of a Binary Tree IV](/solution/1600-1699/1676.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20IV/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | 🔒 |
+| 1676 | [Lowest Common Ancestor of a Binary Tree IV](/solution/1600-1699/1676.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20IV/README_EN.md) | `Tree`,`Depth-First Search`,`Hash Table`,`Binary Tree` | Medium | 🔒 |
| 1677 | [Product's Worth Over Invoices](/solution/1600-1699/1677.Product%27s%20Worth%20Over%20Invoices/README_EN.md) | `Database` | Easy | 🔒 |
| 1678 | [Goal Parser Interpretation](/solution/1600-1699/1678.Goal%20Parser%20Interpretation/README_EN.md) | `String` | Easy | Weekly Contest 218 |
| 1679 | [Max Number of K-Sum Pairs](/solution/1600-1699/1679.Max%20Number%20of%20K-Sum%20Pairs/README_EN.md) | `Array`,`Hash Table`,`Two Pointers`,`Sorting` | Medium | Weekly Contest 218 |
@@ -1705,7 +1701,7 @@ Press Control + F(or Command + F on
| 1694 | [Reformat Phone Number](/solution/1600-1699/1694.Reformat%20Phone%20Number/README_EN.md) | `String` | Easy | Weekly Contest 220 |
| 1695 | [Maximum Erasure Value](/solution/1600-1699/1695.Maximum%20Erasure%20Value/README_EN.md) | `Array`,`Hash Table`,`Sliding Window` | Medium | Weekly Contest 220 |
| 1696 | [Jump Game VI](/solution/1600-1699/1696.Jump%20Game%20VI/README_EN.md) | `Queue`,`Array`,`Dynamic Programming`,`Monotonic Queue`,`Heap (Priority Queue)` | Medium | Weekly Contest 220 |
-| 1697 | [Checking Existence of Edge Length Limited Paths](/solution/1600-1699/1697.Checking%20Existence%20of%20Edge%20Length%20Limited%20Paths/README_EN.md) | `Union Find`,`Graph`,`Array`,`Sorting` | Hard | Weekly Contest 220 |
+| 1697 | [Checking Existence of Edge Length Limited Paths](/solution/1600-1699/1697.Checking%20Existence%20of%20Edge%20Length%20Limited%20Paths/README_EN.md) | `Union Find`,`Graph`,`Array`,`Two Pointers`,`Sorting` | Hard | Weekly Contest 220 |
| 1698 | [Number of Distinct Substrings in a String](/solution/1600-1699/1698.Number%20of%20Distinct%20Substrings%20in%20a%20String/README_EN.md) | `Trie`,`String`,`Suffix Array`,`Hash Function`,`Rolling Hash` | Medium | 🔒 |
| 1699 | [Number of Calls Between Two Persons](/solution/1600-1699/1699.Number%20of%20Calls%20Between%20Two%20Persons/README_EN.md) | `Database` | Medium | 🔒 |
| 1700 | [Number of Students Unable to Eat Lunch](/solution/1700-1799/1700.Number%20of%20Students%20Unable%20to%20Eat%20Lunch/README_EN.md) | `Stack`,`Queue`,`Array`,`Simulation` | Easy | Biweekly Contest 42 |
@@ -1893,7 +1889,7 @@ Press Control + F(or Command + F on
| 1882 | [Process Tasks Using Servers](/solution/1800-1899/1882.Process%20Tasks%20Using%20Servers/README_EN.md) | `Array`,`Heap (Priority Queue)` | Medium | Weekly Contest 243 |
| 1883 | [Minimum Skips to Arrive at Meeting On Time](/solution/1800-1899/1883.Minimum%20Skips%20to%20Arrive%20at%20Meeting%20On%20Time/README_EN.md) | `Array`,`Dynamic Programming` | Hard | Weekly Contest 243 |
| 1884 | [Egg Drop With 2 Eggs and N Floors](/solution/1800-1899/1884.Egg%20Drop%20With%202%20Eggs%20and%20N%20Floors/README_EN.md) | `Math`,`Dynamic Programming` | Medium | |
-| 1885 | [Count Pairs in Two Arrays](/solution/1800-1899/1885.Count%20Pairs%20in%20Two%20Arrays/README_EN.md) | `Array`,`Binary Search`,`Sorting` | Medium | 🔒 |
+| 1885 | [Count Pairs in Two Arrays](/solution/1800-1899/1885.Count%20Pairs%20in%20Two%20Arrays/README_EN.md) | `Array`,`Two Pointers`,`Binary Search`,`Sorting` | Medium | 🔒 |
| 1886 | [Determine Whether Matrix Can Be Obtained By Rotation](/solution/1800-1899/1886.Determine%20Whether%20Matrix%20Can%20Be%20Obtained%20By%20Rotation/README_EN.md) | `Array`,`Matrix` | Easy | Weekly Contest 244 |
| 1887 | [Reduction Operations to Make the Array Elements Equal](/solution/1800-1899/1887.Reduction%20Operations%20to%20Make%20the%20Array%20Elements%20Equal/README_EN.md) | `Array`,`Sorting` | Medium | Weekly Contest 244 |
| 1888 | [Minimum Number of Flips to Make the Binary String Alternating](/solution/1800-1899/1888.Minimum%20Number%20of%20Flips%20to%20Make%20the%20Binary%20String%20Alternating/README_EN.md) | `Greedy`,`String`,`Dynamic Programming`,`Sliding Window` | Medium | Weekly Contest 244 |
@@ -1970,7 +1966,7 @@ Press Control + F(or Command + F on
| 1959 | [Minimum Total Space Wasted With K Resizing Operations](/solution/1900-1999/1959.Minimum%20Total%20Space%20Wasted%20With%20K%20Resizing%20Operations/README_EN.md) | `Array`,`Dynamic Programming` | Medium | Biweekly Contest 58 |
| 1960 | [Maximum Product of the Length of Two Palindromic Substrings](/solution/1900-1999/1960.Maximum%20Product%20of%20the%20Length%20of%20Two%20Palindromic%20Substrings/README_EN.md) | `String`,`Hash Function`,`Rolling Hash` | Hard | Biweekly Contest 58 |
| 1961 | [Check If String Is a Prefix of Array](/solution/1900-1999/1961.Check%20If%20String%20Is%20a%20Prefix%20of%20Array/README_EN.md) | `Array`,`String` | Easy | Weekly Contest 253 |
-| 1962 | [Remove Stones to Minimize the Total](/solution/1900-1999/1962.Remove%20Stones%20to%20Minimize%20the%20Total/README_EN.md) | `Array`,`Heap (Priority Queue)` | Medium | Weekly Contest 253 |
+| 1962 | [Remove Stones to Minimize the Total](/solution/1900-1999/1962.Remove%20Stones%20to%20Minimize%20the%20Total/README_EN.md) | `Greedy`,`Array`,`Heap (Priority Queue)` | Medium | Weekly Contest 253 |
| 1963 | [Minimum Number of Swaps to Make the String Balanced](/solution/1900-1999/1963.Minimum%20Number%20of%20Swaps%20to%20Make%20the%20String%20Balanced/README_EN.md) | `Stack`,`Greedy`,`Two Pointers`,`String` | Medium | Weekly Contest 253 |
| 1964 | [Find the Longest Valid Obstacle Course at Each Position](/solution/1900-1999/1964.Find%20the%20Longest%20Valid%20Obstacle%20Course%20at%20Each%20Position/README_EN.md) | `Binary Indexed Tree`,`Array`,`Binary Search` | Hard | Weekly Contest 253 |
| 1965 | [Employees With Missing Information](/solution/1900-1999/1965.Employees%20With%20Missing%20Information/README_EN.md) | `Database` | Easy | |
@@ -2001,7 +1997,7 @@ Press Control + F(or Command + F on
| 1990 | [Count the Number of Experiments](/solution/1900-1999/1990.Count%20the%20Number%20of%20Experiments/README_EN.md) | `Database` | Medium | 🔒 |
| 1991 | [Find the Middle Index in Array](/solution/1900-1999/1991.Find%20the%20Middle%20Index%20in%20Array/README_EN.md) | `Array`,`Prefix Sum` | Easy | Biweekly Contest 60 |
| 1992 | [Find All Groups of Farmland](/solution/1900-1999/1992.Find%20All%20Groups%20of%20Farmland/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Array`,`Matrix` | Medium | Biweekly Contest 60 |
-| 1993 | [Operations on Tree](/solution/1900-1999/1993.Operations%20on%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Design`,`Hash Table` | Medium | Biweekly Contest 60 |
+| 1993 | [Operations on Tree](/solution/1900-1999/1993.Operations%20on%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Design`,`Array`,`Hash Table` | Medium | Biweekly Contest 60 |
| 1994 | [The Number of Good Subsets](/solution/1900-1999/1994.The%20Number%20of%20Good%20Subsets/README_EN.md) | `Bit Manipulation`,`Array`,`Math`,`Dynamic Programming`,`Bitmask` | Hard | Biweekly Contest 60 |
| 1995 | [Count Special Quadruplets](/solution/1900-1999/1995.Count%20Special%20Quadruplets/README_EN.md) | `Array`,`Enumeration` | Easy | Weekly Contest 257 |
| 1996 | [The Number of Weak Characters in the Game](/solution/1900-1999/1996.The%20Number%20of%20Weak%20Characters%20in%20the%20Game/README_EN.md) | `Stack`,`Greedy`,`Array`,`Sorting`,`Monotonic Stack` | Medium | Weekly Contest 257 |
@@ -2090,7 +2086,7 @@ Press Control + F(or Command + F on
| 2079 | [Watering Plants](/solution/2000-2099/2079.Watering%20Plants/README_EN.md) | `Array` | Medium | Weekly Contest 268 |
| 2080 | [Range Frequency Queries](/solution/2000-2099/2080.Range%20Frequency%20Queries/README_EN.md) | `Design`,`Segment Tree`,`Array`,`Hash Table`,`Binary Search` | Medium | Weekly Contest 268 |
| 2081 | [Sum of k-Mirror Numbers](/solution/2000-2099/2081.Sum%20of%20k-Mirror%20Numbers/README_EN.md) | `Math`,`Enumeration` | Hard | Weekly Contest 268 |
-| 2082 | [The Number of Rich Customers](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README_EN.md) | `Database` | Easy | |
+| 2082 | [The Number of Rich Customers](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README_EN.md) | `Database` | Easy | 🔒 |
| 2083 | [Substrings That Begin and End With the Same Letter](/solution/2000-2099/2083.Substrings%20That%20Begin%20and%20End%20With%20the%20Same%20Letter/README_EN.md) | `Hash Table`,`Math`,`String`,`Counting`,`Prefix Sum` | Medium | 🔒 |
| 2084 | [Drop Type 1 Orders for Customers With Type 0 Orders](/solution/2000-2099/2084.Drop%20Type%201%20Orders%20for%20Customers%20With%20Type%200%20Orders/README_EN.md) | `Database` | Medium | 🔒 |
| 2085 | [Count Common Words With One Occurrence](/solution/2000-2099/2085.Count%20Common%20Words%20With%20One%20Occurrence/README_EN.md) | `Array`,`Hash Table`,`String`,`Counting` | Easy | Biweekly Contest 66 |
@@ -2101,7 +2097,7 @@ Press Control + F(or Command + F on
| 2090 | [K Radius Subarray Averages](/solution/2000-2099/2090.K%20Radius%20Subarray%20Averages/README_EN.md) | `Array`,`Sliding Window` | Medium | Weekly Contest 269 |
| 2091 | [Removing Minimum and Maximum From Array](/solution/2000-2099/2091.Removing%20Minimum%20and%20Maximum%20From%20Array/README_EN.md) | `Greedy`,`Array` | Medium | Weekly Contest 269 |
| 2092 | [Find All People With Secret](/solution/2000-2099/2092.Find%20All%20People%20With%20Secret/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Graph`,`Sorting` | Hard | Weekly Contest 269 |
-| 2093 | [Minimum Cost to Reach City With Discounts](/solution/2000-2099/2093.Minimum%20Cost%20to%20Reach%20City%20With%20Discounts/README_EN.md) | `Graph`,`Shortest Path` | Medium | 🔒 |
+| 2093 | [Minimum Cost to Reach City With Discounts](/solution/2000-2099/2093.Minimum%20Cost%20to%20Reach%20City%20With%20Discounts/README_EN.md) | `Graph`,`Shortest Path`,`Heap (Priority Queue)` | Medium | 🔒 |
| 2094 | [Finding 3-Digit Even Numbers](/solution/2000-2099/2094.Finding%203-Digit%20Even%20Numbers/README_EN.md) | `Array`,`Hash Table`,`Enumeration`,`Sorting` | Easy | Weekly Contest 270 |
| 2095 | [Delete the Middle Node of a Linked List](/solution/2000-2099/2095.Delete%20the%20Middle%20Node%20of%20a%20Linked%20List/README_EN.md) | `Linked List`,`Two Pointers` | Medium | Weekly Contest 270 |
| 2096 | [Step-By-Step Directions From a Binary Tree Node to Another](/solution/2000-2099/2096.Step-By-Step%20Directions%20From%20a%20Binary%20Tree%20Node%20to%20Another/README_EN.md) | `Tree`,`Depth-First Search`,`String`,`Binary Tree` | Medium | Weekly Contest 270 |
@@ -2379,7 +2375,7 @@ Press Control + F(or Command + F on
| 2368 | [Reachable Nodes With Restrictions](/solution/2300-2399/2368.Reachable%20Nodes%20With%20Restrictions/README_EN.md) | `Tree`,`Depth-First Search`,`Breadth-First Search`,`Graph`,`Array`,`Hash Table` | Medium | Weekly Contest 305 |
| 2369 | [Check if There is a Valid Partition For The Array](/solution/2300-2399/2369.Check%20if%20There%20is%20a%20Valid%20Partition%20For%20The%20Array/README_EN.md) | `Array`,`Dynamic Programming` | Medium | Weekly Contest 305 |
| 2370 | [Longest Ideal Subsequence](/solution/2300-2399/2370.Longest%20Ideal%20Subsequence/README_EN.md) | `Hash Table`,`String`,`Dynamic Programming` | Medium | Weekly Contest 305 |
-| 2371 | [Minimize Maximum Value in a Grid](/solution/2300-2399/2371.Minimize%20Maximum%20Value%20in%20a%20Grid/README_EN.md) | `Greedy`,`Union Find`,`Graph`,`Topological Sort`,`Array`,`Matrix`,`Sorting` | Hard | 🔒 |
+| 2371 | [Minimize Maximum Value in a Grid](/solution/2300-2399/2371.Minimize%20Maximum%20Value%20in%20a%20Grid/README_EN.md) | `Union Find`,`Graph`,`Topological Sort`,`Array`,`Matrix`,`Sorting` | Hard | 🔒 |
| 2372 | [Calculate the Influence of Each Salesperson](/solution/2300-2399/2372.Calculate%20the%20Influence%20of%20Each%20Salesperson/README_EN.md) | `Database` | Medium | 🔒 |
| 2373 | [Largest Local Values in a Matrix](/solution/2300-2399/2373.Largest%20Local%20Values%20in%20a%20Matrix/README_EN.md) | `Array`,`Matrix` | Easy | Weekly Contest 306 |
| 2374 | [Node With Highest Edge Score](/solution/2300-2399/2374.Node%20With%20Highest%20Edge%20Score/README_EN.md) | `Graph`,`Hash Table` | Medium | Weekly Contest 306 |
@@ -2410,7 +2406,7 @@ Press Control + F(or Command + F on
| 2399 | [Check Distances Between Same Letters](/solution/2300-2399/2399.Check%20Distances%20Between%20Same%20Letters/README_EN.md) | `Array`,`Hash Table`,`String` | Easy | Weekly Contest 309 |
| 2400 | [Number of Ways to Reach a Position After Exactly k Steps](/solution/2400-2499/2400.Number%20of%20Ways%20to%20Reach%20a%20Position%20After%20Exactly%20k%20Steps/README_EN.md) | `Math`,`Dynamic Programming`,`Combinatorics` | Medium | Weekly Contest 309 |
| 2401 | [Longest Nice Subarray](/solution/2400-2499/2401.Longest%20Nice%20Subarray/README_EN.md) | `Bit Manipulation`,`Array`,`Sliding Window` | Medium | Weekly Contest 309 |
-| 2402 | [Meeting Rooms III](/solution/2400-2499/2402.Meeting%20Rooms%20III/README_EN.md) | `Array`,`Sorting`,`Heap (Priority Queue)` | Hard | Weekly Contest 309 |
+| 2402 | [Meeting Rooms III](/solution/2400-2499/2402.Meeting%20Rooms%20III/README_EN.md) | `Array`,`Hash Table`,`Sorting`,`Simulation`,`Heap (Priority Queue)` | Hard | Weekly Contest 309 |
| 2403 | [Minimum Time to Kill All Monsters](/solution/2400-2499/2403.Minimum%20Time%20to%20Kill%20All%20Monsters/README_EN.md) | `Bit Manipulation`,`Array`,`Dynamic Programming`,`Bitmask` | Hard | 🔒 |
| 2404 | [Most Frequent Even Element](/solution/2400-2499/2404.Most%20Frequent%20Even%20Element/README_EN.md) | `Array`,`Hash Table`,`Counting` | Easy | Weekly Contest 310 |
| 2405 | [Optimal Partition of String](/solution/2400-2499/2405.Optimal%20Partition%20of%20String/README_EN.md) | `Greedy`,`Hash Table`,`String` | Medium | Weekly Contest 310 |
@@ -2429,7 +2425,7 @@ Press Control + F(or Command + F on
| 2418 | [Sort the People](/solution/2400-2499/2418.Sort%20the%20People/README_EN.md) | `Array`,`Hash Table`,`String`,`Sorting` | Easy | Weekly Contest 312 |
| 2419 | [Longest Subarray With Maximum Bitwise AND](/solution/2400-2499/2419.Longest%20Subarray%20With%20Maximum%20Bitwise%20AND/README_EN.md) | `Bit Manipulation`,`Brainteaser`,`Array` | Medium | Weekly Contest 312 |
| 2420 | [Find All Good Indices](/solution/2400-2499/2420.Find%20All%20Good%20Indices/README_EN.md) | `Array`,`Dynamic Programming`,`Prefix Sum` | Medium | Weekly Contest 312 |
-| 2421 | [Number of Good Paths](/solution/2400-2499/2421.Number%20of%20Good%20Paths/README_EN.md) | `Tree`,`Union Find`,`Graph`,`Array` | Hard | Weekly Contest 312 |
+| 2421 | [Number of Good Paths](/solution/2400-2499/2421.Number%20of%20Good%20Paths/README_EN.md) | `Tree`,`Union Find`,`Graph`,`Array`,`Hash Table`,`Sorting` | Hard | Weekly Contest 312 |
| 2422 | [Merge Operations to Turn Array Into a Palindrome](/solution/2400-2499/2422.Merge%20Operations%20to%20Turn%20Array%20Into%20a%20Palindrome/README_EN.md) | `Greedy`,`Array`,`Two Pointers` | Medium | 🔒 |
| 2423 | [Remove Letter To Equalize Frequency](/solution/2400-2499/2423.Remove%20Letter%20To%20Equalize%20Frequency/README_EN.md) | `Hash Table`,`String`,`Counting` | Easy | Biweekly Contest 88 |
| 2424 | [Longest Uploaded Prefix](/solution/2400-2499/2424.Longest%20Uploaded%20Prefix/README_EN.md) | `Union Find`,`Design`,`Binary Indexed Tree`,`Segment Tree`,`Binary Search`,`Ordered Set`,`Heap (Priority Queue)` | Medium | Biweekly Contest 88 |
@@ -2511,7 +2507,7 @@ Press Control + F(or Command + F on
| 2500 | [Delete Greatest Value in Each Row](/solution/2500-2599/2500.Delete%20Greatest%20Value%20in%20Each%20Row/README_EN.md) | `Array`,`Matrix`,`Sorting`,`Simulation`,`Heap (Priority Queue)` | Easy | Weekly Contest 323 |
| 2501 | [Longest Square Streak in an Array](/solution/2500-2599/2501.Longest%20Square%20Streak%20in%20an%20Array/README_EN.md) | `Array`,`Hash Table`,`Binary Search`,`Dynamic Programming`,`Sorting` | Medium | Weekly Contest 323 |
| 2502 | [Design Memory Allocator](/solution/2500-2599/2502.Design%20Memory%20Allocator/README_EN.md) | `Design`,`Array`,`Hash Table`,`Simulation` | Medium | Weekly Contest 323 |
-| 2503 | [Maximum Number of Points From Grid Queries](/solution/2500-2599/2503.Maximum%20Number%20of%20Points%20From%20Grid%20Queries/README_EN.md) | `Breadth-First Search`,`Union Find`,`Array`,`Sorting`,`Heap (Priority Queue)` | Hard | Weekly Contest 323 |
+| 2503 | [Maximum Number of Points From Grid Queries](/solution/2500-2599/2503.Maximum%20Number%20of%20Points%20From%20Grid%20Queries/README_EN.md) | `Breadth-First Search`,`Union Find`,`Array`,`Two Pointers`,`Matrix`,`Sorting`,`Heap (Priority Queue)` | Hard | Weekly Contest 323 |
| 2504 | [Concatenate the Name and the Profession](/solution/2500-2599/2504.Concatenate%20the%20Name%20and%20the%20Profession/README_EN.md) | `Database` | Easy | 🔒 |
| 2505 | [Bitwise OR of All Subsequence Sums](/solution/2500-2599/2505.Bitwise%20OR%20of%20All%20Subsequence%20Sums/README_EN.md) | `Bit Manipulation`,`Brainteaser`,`Array`,`Math` | Medium | 🔒 |
| 2506 | [Count Pairs Of Similar Strings](/solution/2500-2599/2506.Count%20Pairs%20Of%20Similar%20Strings/README_EN.md) | `Array`,`Hash Table`,`String` | Easy | Weekly Contest 324 |
@@ -2581,7 +2577,7 @@ Press Control + F(or Command + F on
| 2570 | [Merge Two 2D Arrays by Summing Values](/solution/2500-2599/2570.Merge%20Two%202D%20Arrays%20by%20Summing%20Values/README_EN.md) | `Array`,`Hash Table`,`Two Pointers` | Easy | Weekly Contest 333 |
| 2571 | [Minimum Operations to Reduce an Integer to 0](/solution/2500-2599/2571.Minimum%20Operations%20to%20Reduce%20an%20Integer%20to%200/README_EN.md) | `Greedy`,`Bit Manipulation`,`Dynamic Programming` | Medium | Weekly Contest 333 |
| 2572 | [Count the Number of Square-Free Subsets](/solution/2500-2599/2572.Count%20the%20Number%20of%20Square-Free%20Subsets/README_EN.md) | `Bit Manipulation`,`Array`,`Math`,`Dynamic Programming`,`Bitmask` | Medium | Weekly Contest 333 |
-| 2573 | [Find the String with LCP](/solution/2500-2599/2573.Find%20the%20String%20with%20LCP/README_EN.md) | `Greedy`,`Union Find`,`String`,`Dynamic Programming` | Hard | Weekly Contest 333 |
+| 2573 | [Find the String with LCP](/solution/2500-2599/2573.Find%20the%20String%20with%20LCP/README_EN.md) | `Greedy`,`Union Find`,`Array`,`String`,`Dynamic Programming`,`Matrix` | Hard | Weekly Contest 333 |
| 2574 | [Left and Right Sum Differences](/solution/2500-2599/2574.Left%20and%20Right%20Sum%20Differences/README_EN.md) | `Array`,`Prefix Sum` | Easy | Weekly Contest 334 |
| 2575 | [Find the Divisibility Array of a String](/solution/2500-2599/2575.Find%20the%20Divisibility%20Array%20of%20a%20String/README_EN.md) | `Array`,`Math`,`String` | Medium | Weekly Contest 334 |
| 2576 | [Find the Maximum Number of Marked Indices](/solution/2500-2599/2576.Find%20the%20Maximum%20Number%20of%20Marked%20Indices/README_EN.md) | `Greedy`,`Array`,`Two Pointers`,`Binary Search`,`Sorting` | Medium | Weekly Contest 334 |
@@ -2591,7 +2587,7 @@ Press Control + F(or Command + F on
| 2580 | [Count Ways to Group Overlapping Ranges](/solution/2500-2599/2580.Count%20Ways%20to%20Group%20Overlapping%20Ranges/README_EN.md) | `Array`,`Sorting` | Medium | Biweekly Contest 99 |
| 2581 | [Count Number of Possible Root Nodes](/solution/2500-2599/2581.Count%20Number%20of%20Possible%20Root%20Nodes/README_EN.md) | `Tree`,`Depth-First Search`,`Hash Table`,`Dynamic Programming` | Hard | Biweekly Contest 99 |
| 2582 | [Pass the Pillow](/solution/2500-2599/2582.Pass%20the%20Pillow/README_EN.md) | `Math`,`Simulation` | Easy | Weekly Contest 335 |
-| 2583 | [Kth Largest Sum in a Binary Tree](/solution/2500-2599/2583.Kth%20Largest%20Sum%20in%20a%20Binary%20Tree/README_EN.md) | `Tree`,`Breadth-First Search`,`Binary Search` | Medium | Weekly Contest 335 |
+| 2583 | [Kth Largest Sum in a Binary Tree](/solution/2500-2599/2583.Kth%20Largest%20Sum%20in%20a%20Binary%20Tree/README_EN.md) | `Tree`,`Breadth-First Search`,`Binary Tree`,`Sorting` | Medium | Weekly Contest 335 |
| 2584 | [Split the Array to Make Coprime Products](/solution/2500-2599/2584.Split%20the%20Array%20to%20Make%20Coprime%20Products/README_EN.md) | `Array`,`Hash Table`,`Math`,`Number Theory` | Hard | Weekly Contest 335 |
| 2585 | [Number of Ways to Earn Points](/solution/2500-2599/2585.Number%20of%20Ways%20to%20Earn%20Points/README_EN.md) | `Array`,`Dynamic Programming` | Hard | Weekly Contest 335 |
| 2586 | [Count the Number of Vowel Strings in Range](/solution/2500-2599/2586.Count%20the%20Number%20of%20Vowel%20Strings%20in%20Range/README_EN.md) | `Array`,`String` | Easy | Weekly Contest 336 |
@@ -2660,12 +2656,12 @@ Press Control + F(or Command + F on
| 2649 | [Nested Array Generator](/solution/2600-2699/2649.Nested%20Array%20Generator/README_EN.md) | | Medium | |
| 2650 | [Design Cancellable Function](/solution/2600-2699/2650.Design%20Cancellable%20Function/README_EN.md) | | Hard | |
| 2651 | [Calculate Delayed Arrival Time](/solution/2600-2699/2651.Calculate%20Delayed%20Arrival%20Time/README_EN.md) | `Math` | Easy | Weekly Contest 342 |
-| 2652 | [Sum Multiples](/solution/2600-2699/2652.Sum%20Multiples/README_EN.md) | `Array`,`Math`,`Number Theory` | Easy | Weekly Contest 342 |
+| 2652 | [Sum Multiples](/solution/2600-2699/2652.Sum%20Multiples/README_EN.md) | `Math` | Easy | Weekly Contest 342 |
| 2653 | [Sliding Subarray Beauty](/solution/2600-2699/2653.Sliding%20Subarray%20Beauty/README_EN.md) | `Array`,`Hash Table`,`Sliding Window` | Medium | Weekly Contest 342 |
| 2654 | [Minimum Number of Operations to Make All Array Elements Equal to 1](/solution/2600-2699/2654.Minimum%20Number%20of%20Operations%20to%20Make%20All%20Array%20Elements%20Equal%20to%201/README_EN.md) | `Array`,`Math`,`Number Theory` | Medium | Weekly Contest 342 |
| 2655 | [Find Maximal Uncovered Ranges](/solution/2600-2699/2655.Find%20Maximal%20Uncovered%20Ranges/README_EN.md) | `Array`,`Sorting` | Medium | 🔒 |
| 2656 | [Maximum Sum With Exactly K Elements](/solution/2600-2699/2656.Maximum%20Sum%20With%20Exactly%20K%20Elements/README_EN.md) | `Greedy`,`Array` | Easy | Biweekly Contest 103 |
-| 2657 | [Find the Prefix Common Array of Two Arrays](/solution/2600-2699/2657.Find%20the%20Prefix%20Common%20Array%20of%20Two%20Arrays/README_EN.md) | `Array`,`Hash Table` | Medium | Biweekly Contest 103 |
+| 2657 | [Find the Prefix Common Array of Two Arrays](/solution/2600-2699/2657.Find%20the%20Prefix%20Common%20Array%20of%20Two%20Arrays/README_EN.md) | `Bit Manipulation`,`Array`,`Hash Table` | Medium | Biweekly Contest 103 |
| 2658 | [Maximum Number of Fish in a Grid](/solution/2600-2699/2658.Maximum%20Number%20of%20Fish%20in%20a%20Grid/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Union Find`,`Array`,`Matrix` | Medium | Biweekly Contest 103 |
| 2659 | [Make Array Empty](/solution/2600-2699/2659.Make%20Array%20Empty/README_EN.md) | `Greedy`,`Binary Indexed Tree`,`Segment Tree`,`Array`,`Binary Search`,`Ordered Set`,`Sorting` | Hard | Biweekly Contest 103 |
| 2660 | [Determine the Winner of a Bowling Game](/solution/2600-2699/2660.Determine%20the%20Winner%20of%20a%20Bowling%20Game/README_EN.md) | `Array`,`Simulation` | Easy | Weekly Contest 343 |
@@ -2683,7 +2679,7 @@ Press Control + F(or Command + F on
| 2672 | [Number of Adjacent Elements With the Same Color](/solution/2600-2699/2672.Number%20of%20Adjacent%20Elements%20With%20the%20Same%20Color/README_EN.md) | `Array` | Medium | Weekly Contest 344 |
| 2673 | [Make Costs of Paths Equal in a Binary Tree](/solution/2600-2699/2673.Make%20Costs%20of%20Paths%20Equal%20in%20a%20Binary%20Tree/README_EN.md) | `Greedy`,`Tree`,`Array`,`Dynamic Programming`,`Binary Tree` | Medium | Weekly Contest 344 |
| 2674 | [Split a Circular Linked List](/solution/2600-2699/2674.Split%20a%20Circular%20Linked%20List/README_EN.md) | | Medium | 🔒 |
-| 2675 | [Array of Objects to Matrix](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README_EN.md) | | Medium | 🔒 |
+| 2675 | [Array of Objects to Matrix](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README_EN.md) | | Hard | 🔒 |
| 2676 | [Throttle](/solution/2600-2699/2676.Throttle/README_EN.md) | | Medium | 🔒 |
| 2677 | [Chunk Array](/solution/2600-2699/2677.Chunk%20Array/README_EN.md) | | Easy | |
| 2678 | [Number of Senior Citizens](/solution/2600-2699/2678.Number%20of%20Senior%20Citizens/README_EN.md) | `Array`,`String` | Easy | Biweekly Contest 104 |
@@ -2705,7 +2701,7 @@ Press Control + F(or Command + F on
| 2694 | [Event Emitter](/solution/2600-2699/2694.Event%20Emitter/README_EN.md) | | Medium | |
| 2695 | [Array Wrapper](/solution/2600-2699/2695.Array%20Wrapper/README_EN.md) | | Easy | |
| 2696 | [Minimum String Length After Removing Substrings](/solution/2600-2699/2696.Minimum%20String%20Length%20After%20Removing%20Substrings/README_EN.md) | `Stack`,`String`,`Simulation` | Easy | Weekly Contest 346 |
-| 2697 | [Lexicographically Smallest Palindrome](/solution/2600-2699/2697.Lexicographically%20Smallest%20Palindrome/README_EN.md) | `Two Pointers`,`String` | Easy | Weekly Contest 346 |
+| 2697 | [Lexicographically Smallest Palindrome](/solution/2600-2699/2697.Lexicographically%20Smallest%20Palindrome/README_EN.md) | `Greedy`,`Two Pointers`,`String` | Easy | Weekly Contest 346 |
| 2698 | [Find the Punishment Number of an Integer](/solution/2600-2699/2698.Find%20the%20Punishment%20Number%20of%20an%20Integer/README_EN.md) | `Math`,`Backtracking` | Medium | Weekly Contest 346 |
| 2699 | [Modify Graph Edge Weights](/solution/2600-2699/2699.Modify%20Graph%20Edge%20Weights/README_EN.md) | `Graph`,`Shortest Path`,`Heap (Priority Queue)` | Hard | Weekly Contest 346 |
| 2700 | [Differences Between Two Objects](/solution/2700-2799/2700.Differences%20Between%20Two%20Objects/README_EN.md) | | Medium | 🔒 |
@@ -2754,7 +2750,7 @@ Press Control + F(or Command + F on
| 2743 | [Count Substrings Without Repeating Character](/solution/2700-2799/2743.Count%20Substrings%20Without%20Repeating%20Character/README_EN.md) | `Hash Table`,`String`,`Sliding Window` | Medium | 🔒 |
| 2744 | [Find Maximum Number of String Pairs](/solution/2700-2799/2744.Find%20Maximum%20Number%20of%20String%20Pairs/README_EN.md) | `Array`,`Hash Table`,`String`,`Simulation` | Easy | Biweekly Contest 107 |
| 2745 | [Construct the Longest New String](/solution/2700-2799/2745.Construct%20the%20Longest%20New%20String/README_EN.md) | `Greedy`,`Brainteaser`,`Math` | Medium | Biweekly Contest 107 |
-| 2746 | [Decremental String Concatenation](/solution/2700-2799/2746.Decremental%20String%20Concatenation/README_EN.md) | `Array`,`String` | Medium | Biweekly Contest 107 |
+| 2746 | [Decremental String Concatenation](/solution/2700-2799/2746.Decremental%20String%20Concatenation/README_EN.md) | `Array`,`String`,`Dynamic Programming` | Medium | Biweekly Contest 107 |
| 2747 | [Count Zero Request Servers](/solution/2700-2799/2747.Count%20Zero%20Request%20Servers/README_EN.md) | `Array`,`Hash Table`,`Sorting`,`Sliding Window` | Medium | Biweekly Contest 107 |
| 2748 | [Number of Beautiful Pairs](/solution/2700-2799/2748.Number%20of%20Beautiful%20Pairs/README_EN.md) | `Array`,`Math`,`Number Theory` | Easy | Weekly Contest 351 |
| 2749 | [Minimum Operations to Make the Integer Zero](/solution/2700-2799/2749.Minimum%20Operations%20to%20Make%20the%20Integer%20Zero/README_EN.md) | `Bit Manipulation`,`Brainteaser` | Medium | Weekly Contest 351 |
@@ -2772,7 +2768,7 @@ Press Control + F(or Command + F on
| 2761 | [Prime Pairs With Target Sum](/solution/2700-2799/2761.Prime%20Pairs%20With%20Target%20Sum/README_EN.md) | `Array`,`Math`,`Enumeration`,`Number Theory` | Medium | Weekly Contest 352 |
| 2762 | [Continuous Subarrays](/solution/2700-2799/2762.Continuous%20Subarrays/README_EN.md) | `Queue`,`Array`,`Ordered Set`,`Sliding Window`,`Monotonic Queue`,`Heap (Priority Queue)` | Medium | Weekly Contest 352 |
| 2763 | [Sum of Imbalance Numbers of All Subarrays](/solution/2700-2799/2763.Sum%20of%20Imbalance%20Numbers%20of%20All%20Subarrays/README_EN.md) | `Array`,`Hash Table`,`Ordered Set` | Hard | Weekly Contest 352 |
-| 2764 | [is Array a Preorder of Some Binary Tree](/solution/2700-2799/2764.is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/README_EN.md) | `Stack`,`Tree`,`Depth-First Search`,`Binary Tree` | Medium | 🔒 |
+| 2764 | [Is Array a Preorder of Some Binary Tree](/solution/2700-2799/2764.Is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/README_EN.md) | `Stack`,`Tree`,`Depth-First Search`,`Binary Tree` | Medium | 🔒 |
| 2765 | [Longest Alternating Subarray](/solution/2700-2799/2765.Longest%20Alternating%20Subarray/README_EN.md) | `Array`,`Enumeration` | Easy | Biweekly Contest 108 |
| 2766 | [Relocate Marbles](/solution/2700-2799/2766.Relocate%20Marbles/README_EN.md) | `Array`,`Hash Table`,`Sorting`,`Simulation` | Medium | Biweekly Contest 108 |
| 2767 | [Partition String Into Minimum Beautiful Substrings](/solution/2700-2799/2767.Partition%20String%20Into%20Minimum%20Beautiful%20Substrings/README_EN.md) | `Hash Table`,`String`,`Dynamic Programming`,`Backtracking` | Medium | Biweekly Contest 108 |
@@ -2805,7 +2801,7 @@ Press Control + F(or Command + F on
| 2794 | [Create Object from Two Arrays](/solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README_EN.md) | | Easy | 🔒 |
| 2795 | [Parallel Execution of Promises for Individual Results Retrieval](/solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README_EN.md) | | Medium | 🔒 |
| 2796 | [Repeat String](/solution/2700-2799/2796.Repeat%20String/README_EN.md) | | Easy | 🔒 |
-| 2797 | [Partial Function with Placeholders](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md) | | Medium | 🔒 |
+| 2797 | [Partial Function with Placeholders](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md) | | Easy | 🔒 |
| 2798 | [Number of Employees Who Met the Target](/solution/2700-2799/2798.Number%20of%20Employees%20Who%20Met%20the%20Target/README_EN.md) | `Array`,`Enumeration` | Easy | Weekly Contest 356 |
| 2799 | [Count Complete Subarrays in an Array](/solution/2700-2799/2799.Count%20Complete%20Subarrays%20in%20an%20Array/README_EN.md) | `Array`,`Hash Table`,`Sliding Window` | Medium | Weekly Contest 356 |
| 2800 | [Shortest String That Contains Three Strings](/solution/2800-2899/2800.Shortest%20String%20That%20Contains%20Three%20Strings/README_EN.md) | `Greedy`,`String`,`Enumeration` | Medium | Weekly Contest 356 |
@@ -2815,7 +2811,7 @@ Press Control + F(or Command + F on
| 2804 | [Array Prototype ForEach](/solution/2800-2899/2804.Array%20Prototype%20ForEach/README_EN.md) | | Easy | 🔒 |
| 2805 | [Custom Interval](/solution/2800-2899/2805.Custom%20Interval/README_EN.md) | | Medium | 🔒 |
| 2806 | [Account Balance After Rounded Purchase](/solution/2800-2899/2806.Account%20Balance%20After%20Rounded%20Purchase/README_EN.md) | `Math` | Easy | Biweekly Contest 110 |
-| 2807 | [Insert Greatest Common Divisors in Linked List](/solution/2800-2899/2807.Insert%20Greatest%20Common%20Divisors%20in%20Linked%20List/README_EN.md) | `Array`,`Linked List`,`Math` | Medium | Biweekly Contest 110 |
+| 2807 | [Insert Greatest Common Divisors in Linked List](/solution/2800-2899/2807.Insert%20Greatest%20Common%20Divisors%20in%20Linked%20List/README_EN.md) | `Linked List`,`Math`,`Number Theory` | Medium | Biweekly Contest 110 |
| 2808 | [Minimum Seconds to Equalize a Circular Array](/solution/2800-2899/2808.Minimum%20Seconds%20to%20Equalize%20a%20Circular%20Array/README_EN.md) | `Greedy`,`Array`,`Hash Table` | Medium | Biweekly Contest 110 |
| 2809 | [Minimum Time to Make Array Sum At Most x](/solution/2800-2899/2809.Minimum%20Time%20to%20Make%20Array%20Sum%20At%20Most%20x/README_EN.md) | `Array`,`Dynamic Programming`,`Sorting` | Hard | Biweekly Contest 110 |
| 2810 | [Faulty Keyboard](/solution/2800-2899/2810.Faulty%20Keyboard/README_EN.md) | `String`,`Simulation` | Easy | Weekly Contest 357 |
@@ -2840,11 +2836,11 @@ Press Control + F(or Command + F on
| 2829 | [Determine the Minimum Sum of a k-avoiding Array](/solution/2800-2899/2829.Determine%20the%20Minimum%20Sum%20of%20a%20k-avoiding%20Array/README_EN.md) | `Greedy`,`Math` | Medium | Weekly Contest 359 |
| 2830 | [Maximize the Profit as the Salesman](/solution/2800-2899/2830.Maximize%20the%20Profit%20as%20the%20Salesman/README_EN.md) | `Array`,`Binary Search`,`Dynamic Programming`,`Sorting` | Medium | Weekly Contest 359 |
| 2831 | [Find the Longest Equal Subarray](/solution/2800-2899/2831.Find%20the%20Longest%20Equal%20Subarray/README_EN.md) | `Array`,`Hash Table`,`Binary Search`,`Sliding Window` | Medium | Weekly Contest 359 |
-| 2832 | [Maximal Range That Each Element Is Maximum in It](/solution/2800-2899/2832.Maximal%20Range%20That%20Each%20Element%20Is%20Maximum%20in%20It/README_EN.md) | | Medium | 🔒 |
-| 2833 | [Furthest Point From Origin](/solution/2800-2899/2833.Furthest%20Point%20From%20Origin/README_EN.md) | | Easy | Weekly Contest 360 |
-| 2834 | [Find the Minimum Possible Sum of a Beautiful Array](/solution/2800-2899/2834.Find%20the%20Minimum%20Possible%20Sum%20of%20a%20Beautiful%20Array/README_EN.md) | | Medium | Weekly Contest 360 |
-| 2835 | [Minimum Operations to Form Subsequence With Target Sum](/solution/2800-2899/2835.Minimum%20Operations%20to%20Form%20Subsequence%20With%20Target%20Sum/README_EN.md) | | Hard | Weekly Contest 360 |
-| 2836 | [Maximize Value of Function in a Ball Passing Game](/solution/2800-2899/2836.Maximize%20Value%20of%20Function%20in%20a%20Ball%20Passing%20Game/README_EN.md) | | Hard | Weekly Contest 360 |
+| 2832 | [Maximal Range That Each Element Is Maximum in It](/solution/2800-2899/2832.Maximal%20Range%20That%20Each%20Element%20Is%20Maximum%20in%20It/README_EN.md) | `Stack`,`Array`,`Monotonic Stack` | Medium | 🔒 |
+| 2833 | [Furthest Point From Origin](/solution/2800-2899/2833.Furthest%20Point%20From%20Origin/README_EN.md) | `Array`,`Counting` | Easy | Weekly Contest 360 |
+| 2834 | [Find the Minimum Possible Sum of a Beautiful Array](/solution/2800-2899/2834.Find%20the%20Minimum%20Possible%20Sum%20of%20a%20Beautiful%20Array/README_EN.md) | `Greedy`,`Math` | Medium | Weekly Contest 360 |
+| 2835 | [Minimum Operations to Form Subsequence With Target Sum](/solution/2800-2899/2835.Minimum%20Operations%20to%20Form%20Subsequence%20With%20Target%20Sum/README_EN.md) | `Greedy`,`Bit Manipulation`,`Array` | Hard | Weekly Contest 360 |
+| 2836 | [Maximize Value of Function in a Ball Passing Game](/solution/2800-2899/2836.Maximize%20Value%20of%20Function%20in%20a%20Ball%20Passing%20Game/README_EN.md) | `Bit Manipulation`,`Array`,`Dynamic Programming` | Hard | Weekly Contest 360 |
| 2837 | [Total Traveled Distance](/solution/2800-2899/2837.Total%20Traveled%20Distance/README_EN.md) | `Database` | Easy | 🔒 |
| 2838 | [Maximum Coins Heroes Can Collect](/solution/2800-2899/2838.Maximum%20Coins%20Heroes%20Can%20Collect/README_EN.md) | `Array`,`Two Pointers`,`Binary Search`,`Prefix Sum`,`Sorting` | Medium | 🔒 |
| 2839 | [Check if Strings Can be Made Equal With Operations I](/solution/2800-2899/2839.Check%20if%20Strings%20Can%20be%20Made%20Equal%20With%20Operations%20I/README_EN.md) | `String` | Easy | Biweekly Contest 112 |
@@ -2880,7 +2876,7 @@ Press Control + F(or Command + F on
| 2869 | [Minimum Operations to Collect Elements](/solution/2800-2899/2869.Minimum%20Operations%20to%20Collect%20Elements/README_EN.md) | `Array`,`Hash Table` | Easy | Biweekly Contest 114 |
| 2870 | [Minimum Number of Operations to Make Array Empty](/solution/2800-2899/2870.Minimum%20Number%20of%20Operations%20to%20Make%20Array%20Empty/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Counting` | Medium | Biweekly Contest 114 |
| 2871 | [Split Array Into Maximum Number of Subarrays](/solution/2800-2899/2871.Split%20Array%20Into%20Maximum%20Number%20of%20Subarrays/README_EN.md) | `Greedy`,`Bit Manipulation`,`Array` | Medium | Biweekly Contest 114 |
-| 2872 | [Maximum Number of K-Divisible Components](/solution/2800-2899/2872.Maximum%20Number%20of%20K-Divisible%20Components/README_EN.md) | `Tree`,`Depth-First Search`,`Dynamic Programming` | Hard | Biweekly Contest 114 |
+| 2872 | [Maximum Number of K-Divisible Components](/solution/2800-2899/2872.Maximum%20Number%20of%20K-Divisible%20Components/README_EN.md) | `Tree`,`Depth-First Search` | Hard | Biweekly Contest 114 |
| 2873 | [Maximum Value of an Ordered Triplet I](/solution/2800-2899/2873.Maximum%20Value%20of%20an%20Ordered%20Triplet%20I/README_EN.md) | `Array` | Easy | Weekly Contest 365 |
| 2874 | [Maximum Value of an Ordered Triplet II](/solution/2800-2899/2874.Maximum%20Value%20of%20an%20Ordered%20Triplet%20II/README_EN.md) | `Array` | Medium | Weekly Contest 365 |
| 2875 | [Minimum Size Subarray in Infinite Array](/solution/2800-2899/2875.Minimum%20Size%20Subarray%20in%20Infinite%20Array/README_EN.md) | `Array`,`Hash Table`,`Prefix Sum`,`Sliding Window` | Medium | Weekly Contest 365 |
@@ -2920,15 +2916,15 @@ Press Control + F(or Command + F on
| 2909 | [Minimum Sum of Mountain Triplets II](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README_EN.md) | `Array` | Medium | Weekly Contest 368 |
| 2910 | [Minimum Number of Groups to Create a Valid Assignment](/solution/2900-2999/2910.Minimum%20Number%20of%20Groups%20to%20Create%20a%20Valid%20Assignment/README_EN.md) | `Greedy`,`Array`,`Hash Table` | Medium | Weekly Contest 368 |
| 2911 | [Minimum Changes to Make K Semi-palindromes](/solution/2900-2999/2911.Minimum%20Changes%20to%20Make%20K%20Semi-palindromes/README_EN.md) | `Two Pointers`,`String`,`Dynamic Programming` | Hard | Weekly Contest 368 |
-| 2912 | [Number of Ways to Reach Destination in the Grid](/solution/2900-2999/2912.Number%20of%20Ways%20to%20Reach%20Destination%20in%20the%20Grid/README_EN.md) | | Hard | 🔒 |
-| 2913 | [Subarrays Distinct Element Sum of Squares I](/solution/2900-2999/2913.Subarrays%20Distinct%20Element%20Sum%20of%20Squares%20I/README_EN.md) | | Easy | Biweekly Contest 116 |
-| 2914 | [Minimum Number of Changes to Make Binary String Beautiful](/solution/2900-2999/2914.Minimum%20Number%20of%20Changes%20to%20Make%20Binary%20String%20Beautiful/README_EN.md) | | Medium | Biweekly Contest 116 |
-| 2915 | [Length of the Longest Subsequence That Sums to Target](/solution/2900-2999/2915.Length%20of%20the%20Longest%20Subsequence%20That%20Sums%20to%20Target/README_EN.md) | | Medium | Biweekly Contest 116 |
-| 2916 | [Subarrays Distinct Element Sum of Squares II](/solution/2900-2999/2916.Subarrays%20Distinct%20Element%20Sum%20of%20Squares%20II/README_EN.md) | | Hard | Biweekly Contest 116 |
-| 2917 | [Find the K-or of an Array](/solution/2900-2999/2917.Find%20the%20K-or%20of%20an%20Array/README_EN.md) | | Easy | Weekly Contest 369 |
-| 2918 | [Minimum Equal Sum of Two Arrays After Replacing Zeros](/solution/2900-2999/2918.Minimum%20Equal%20Sum%20of%20Two%20Arrays%20After%20Replacing%20Zeros/README_EN.md) | | Medium | Weekly Contest 369 |
-| 2919 | [Minimum Increment Operations to Make Array Beautiful](/solution/2900-2999/2919.Minimum%20Increment%20Operations%20to%20Make%20Array%20Beautiful/README_EN.md) | | Medium | Weekly Contest 369 |
-| 2920 | [Maximum Points After Collecting Coins From All Nodes](/solution/2900-2999/2920.Maximum%20Points%20After%20Collecting%20Coins%20From%20All%20Nodes/README_EN.md) | | Hard | Weekly Contest 369 |
+| 2912 | [Number of Ways to Reach Destination in the Grid](/solution/2900-2999/2912.Number%20of%20Ways%20to%20Reach%20Destination%20in%20the%20Grid/README_EN.md) | `Math`,`Dynamic Programming`,`Combinatorics` | Hard | 🔒 |
+| 2913 | [Subarrays Distinct Element Sum of Squares I](/solution/2900-2999/2913.Subarrays%20Distinct%20Element%20Sum%20of%20Squares%20I/README_EN.md) | `Array`,`Hash Table` | Easy | Biweekly Contest 116 |
+| 2914 | [Minimum Number of Changes to Make Binary String Beautiful](/solution/2900-2999/2914.Minimum%20Number%20of%20Changes%20to%20Make%20Binary%20String%20Beautiful/README_EN.md) | `String` | Medium | Biweekly Contest 116 |
+| 2915 | [Length of the Longest Subsequence That Sums to Target](/solution/2900-2999/2915.Length%20of%20the%20Longest%20Subsequence%20That%20Sums%20to%20Target/README_EN.md) | `Array`,`Dynamic Programming` | Medium | Biweekly Contest 116 |
+| 2916 | [Subarrays Distinct Element Sum of Squares II](/solution/2900-2999/2916.Subarrays%20Distinct%20Element%20Sum%20of%20Squares%20II/README_EN.md) | `Binary Indexed Tree`,`Segment Tree`,`Array`,`Dynamic Programming` | Hard | Biweekly Contest 116 |
+| 2917 | [Find the K-or of an Array](/solution/2900-2999/2917.Find%20the%20K-or%20of%20an%20Array/README_EN.md) | `Bit Manipulation`,`Array` | Easy | Weekly Contest 369 |
+| 2918 | [Minimum Equal Sum of Two Arrays After Replacing Zeros](/solution/2900-2999/2918.Minimum%20Equal%20Sum%20of%20Two%20Arrays%20After%20Replacing%20Zeros/README_EN.md) | `Greedy`,`Array` | Medium | Weekly Contest 369 |
+| 2919 | [Minimum Increment Operations to Make Array Beautiful](/solution/2900-2999/2919.Minimum%20Increment%20Operations%20to%20Make%20Array%20Beautiful/README_EN.md) | `Array`,`Dynamic Programming` | Medium | Weekly Contest 369 |
+| 2920 | [Maximum Points After Collecting Coins From All Nodes](/solution/2900-2999/2920.Maximum%20Points%20After%20Collecting%20Coins%20From%20All%20Nodes/README_EN.md) | `Bit Manipulation`,`Tree`,`Depth-First Search`,`Array`,`Dynamic Programming` | Hard | Weekly Contest 369 |
| 2921 | [Maximum Profitable Triplets With Increasing Prices II](/solution/2900-2999/2921.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20II/README_EN.md) | `Binary Indexed Tree`,`Array` | Hard | 🔒 |
| 2922 | [Market Analysis III](/solution/2900-2999/2922.Market%20Analysis%20III/README_EN.md) | `Database` | Medium | 🔒 |
| 2923 | [Find Champion I](/solution/2900-2999/2923.Find%20Champion%20I/README_EN.md) | `Array`,`Matrix` | Easy | Weekly Contest 370 |
@@ -2939,7 +2935,7 @@ Press Control + F(or Command + F on
| 2928 | [Distribute Candies Among Children I](/solution/2900-2999/2928.Distribute%20Candies%20Among%20Children%20I/README_EN.md) | `Math`,`Combinatorics`,`Enumeration` | Easy | Biweekly Contest 117 |
| 2929 | [Distribute Candies Among Children II](/solution/2900-2999/2929.Distribute%20Candies%20Among%20Children%20II/README_EN.md) | `Math`,`Combinatorics`,`Enumeration` | Medium | Biweekly Contest 117 |
| 2930 | [Number of Strings Which Can Be Rearranged to Contain Substring](/solution/2900-2999/2930.Number%20of%20Strings%20Which%20Can%20Be%20Rearranged%20to%20Contain%20Substring/README_EN.md) | `Math`,`Dynamic Programming`,`Combinatorics` | Medium | Biweekly Contest 117 |
-| 2931 | [Maximum Spending After Buying Items](/solution/2900-2999/2931.Maximum%20Spending%20After%20Buying%20Items/README_EN.md) | `Greedy`,`Array`,`Sorting`,`Heap (Priority Queue)` | Hard | Biweekly Contest 117 |
+| 2931 | [Maximum Spending After Buying Items](/solution/2900-2999/2931.Maximum%20Spending%20After%20Buying%20Items/README_EN.md) | `Greedy`,`Array`,`Matrix`,`Sorting`,`Heap (Priority Queue)` | Hard | Biweekly Contest 117 |
| 2932 | [Maximum Strong Pair XOR I](/solution/2900-2999/2932.Maximum%20Strong%20Pair%20XOR%20I/README_EN.md) | `Bit Manipulation`,`Trie`,`Array`,`Hash Table`,`Sliding Window` | Easy | Weekly Contest 371 |
| 2933 | [High-Access Employees](/solution/2900-2999/2933.High-Access%20Employees/README_EN.md) | `Array`,`Hash Table`,`String`,`Sorting` | Medium | Weekly Contest 371 |
| 2934 | [Minimum Operations to Maximize Last Elements in Arrays](/solution/2900-2999/2934.Minimum%20Operations%20to%20Maximize%20Last%20Elements%20in%20Arrays/README_EN.md) | `Greedy`,`Array` | Medium | Weekly Contest 371 |
@@ -2958,7 +2954,7 @@ Press Control + F(or Command + F on
| 2947 | [Count Beautiful Substrings I](/solution/2900-2999/2947.Count%20Beautiful%20Substrings%20I/README_EN.md) | `String`,`Enumeration`,`Prefix Sum` | Medium | Weekly Contest 373 |
| 2948 | [Make Lexicographically Smallest Array by Swapping Elements](/solution/2900-2999/2948.Make%20Lexicographically%20Smallest%20Array%20by%20Swapping%20Elements/README_EN.md) | `Union Find`,`Array`,`Sorting` | Medium | Weekly Contest 373 |
| 2949 | [Count Beautiful Substrings II](/solution/2900-2999/2949.Count%20Beautiful%20Substrings%20II/README_EN.md) | `Hash Table`,`Math`,`String`,`Number Theory`,`Prefix Sum` | Hard | Weekly Contest 373 |
-| 2950 | [Number of Divisible Substrings](/solution/2900-2999/2950.Number%20of%20Divisible%20Substrings/README_EN.md) | | Medium | 🔒 |
+| 2950 | [Number of Divisible Substrings](/solution/2900-2999/2950.Number%20of%20Divisible%20Substrings/README_EN.md) | `Hash Table`,`String`,`Counting`,`Prefix Sum` | Medium | 🔒 |
| 2951 | [Find the Peaks](/solution/2900-2999/2951.Find%20the%20Peaks/README_EN.md) | `Array`,`Enumeration` | Easy | Weekly Contest 374 |
| 2952 | [Minimum Number of Coins to be Added](/solution/2900-2999/2952.Minimum%20Number%20of%20Coins%20to%20be%20Added/README_EN.md) | `Greedy`,`Array`,`Sorting` | Medium | Weekly Contest 374 |
| 2953 | [Count Complete Substrings](/solution/2900-2999/2953.Count%20Complete%20Substrings/README_EN.md) | `Hash Table`,`String`,`Sliding Window` | Hard | Weekly Contest 374 |
diff --git a/solution/config.py b/solution/config.py
index 030d4d43fbf7f..027a475d39740 100644
--- a/solution/config.py
+++ b/solution/config.py
@@ -3,20 +3,29 @@
320,
375,
465,
+ 594,
638,
679,
682,
753,
+ 799,
818,
824,
+ 827,
860,
909,
+ 930,
936,
966,
972,
978,
983,
1096,
+ 1108,
+ 1111,
+ 1137,
+ 1138,
+ 1139,
1244,
1266,
1396,
@@ -35,6 +44,8 @@
1850,
1891,
1899,
+ 1915,
+ 1916,
1928,
1994,
2004,
diff --git a/solution/database-summary.md b/solution/database-summary.md
index a408c1ad08d30..ae6dec80b18d3 100644
--- a/solution/database-summary.md
+++ b/solution/database-summary.md
@@ -134,7 +134,7 @@
- [1623.三人国家代表队](/database-solution/1600-1699/1623.All%20Valid%20Triplets%20That%20Can%20Represent%20a%20Country/README.md)
- [1633.各赛事的用户注册率](/database-solution/1600-1699/1633.Percentage%20of%20Users%20Attended%20a%20Contest/README.md)
- [1635.Hopper 公司查询 I](/database-solution/1600-1699/1635.Hopper%20Company%20Queries%20I/README.md)
- - [1645.1645.Hopper 公司查询 II](/database-solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md)
+ - [1645.Hopper 公司查询 II](/database-solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md)
- [1651.Hopper 公司查询 III](/database-solution/1600-1699/1651.Hopper%20Company%20Queries%20III/README.md)
- [1661.每台机器的进程平均运行时间](/database-solution/1600-1699/1661.Average%20Time%20of%20Process%20per%20Machine/README.md)
- [1667.修复表中的名字](/database-solution/1600-1699/1667.Fix%20Names%20in%20a%20Table/README.md)
diff --git a/solution/javascript-summary.md b/solution/javascript-summary.md
index 6a80917a7042a..85429c59a6476 100644
--- a/solution/javascript-summary.md
+++ b/solution/javascript-summary.md
@@ -42,7 +42,7 @@
- [2715.执行可取消的延迟函数](/javascript-solution/2700-2799/2715.Timeout%20Cancellation/README.md)
- [2721.并行执行异步函数](/javascript-solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README.md)
- [2722.根据 ID 合并两个数组](/javascript-solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README.md)
- - [2723.添加两个 Promise 对象](/javascript-solution/2700-2799/2723.Add%20Two%20Promises/README.md)
+ - [2723.两个 Promise 对象相加](/javascript-solution/2700-2799/2723.Add%20Two%20Promises/README.md)
- [2724.排序方式](/javascript-solution/2700-2799/2724.Sort%20By/README.md)
- [2725.间隔取消](/javascript-solution/2700-2799/2725.Interval%20Cancellation/README.md)
- [2726.使用方法链的计算器](/javascript-solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README.md)
diff --git a/solution/summary.md b/solution/summary.md
index 4d3365b9e7636..991d6f6337965 100644
--- a/solution/summary.md
+++ b/solution/summary.md
@@ -91,7 +91,7 @@
- [0089.格雷编码](/solution/0000-0099/0089.Gray%20Code/README.md)
- [0090.子集 II](/solution/0000-0099/0090.Subsets%20II/README.md)
- [0091.解码方法](/solution/0000-0099/0091.Decode%20Ways/README.md)
- - [0092.反转链表 II](/solution/0000-0099/0092.Reverse%20Linked%20List%20II/README.md)
+ - [0092.Reverse Linked List II](/solution/0000-0099/0092.Reverse%20Linked%20List%20II/README.md)
- [0093.复原 IP 地址](/solution/0000-0099/0093.Restore%20IP%20Addresses/README.md)
- [0094.二叉树的中序遍历](/solution/0000-0099/0094.Binary%20Tree%20Inorder%20Traversal/README.md)
- [0095.不同的二叉搜索树 II](/solution/0000-0099/0095.Unique%20Binary%20Search%20Trees%20II/README.md)
@@ -139,7 +139,7 @@
- [0135.分发糖果](/solution/0100-0199/0135.Candy/README.md)
- [0136.只出现一次的数字](/solution/0100-0199/0136.Single%20Number/README.md)
- [0137.只出现一次的数字 II](/solution/0100-0199/0137.Single%20Number%20II/README.md)
- - [0138.复制带随机指针的链表](/solution/0100-0199/0138.Copy%20List%20with%20Random%20Pointer/README.md)
+ - [0138.随机链表的复制](/solution/0100-0199/0138.Copy%20List%20with%20Random%20Pointer/README.md)
- [0139.单词拆分](/solution/0100-0199/0139.Word%20Break/README.md)
- [0140.单词拆分 II](/solution/0100-0199/0140.Word%20Break%20II/README.md)
- [0141.环形链表](/solution/0100-0199/0141.Linked%20List%20Cycle/README.md)
@@ -159,7 +159,7 @@
- [0155.最小栈](/solution/0100-0199/0155.Min%20Stack/README.md)
- [0156.上下翻转二叉树](/solution/0100-0199/0156.Binary%20Tree%20Upside%20Down/README.md)
- [0157.用 Read4 读取 N 个字符](/solution/0100-0199/0157.Read%20N%20Characters%20Given%20Read4/README.md)
- - [0158.用 Read4 读取 N 个字符 II](/solution/0100-0199/0158.Read%20N%20Characters%20Given%20read4%20II%20-%20Call%20Multiple%20Times/README.md)
+ - [0158.用 Read4 读取 N 个字符 II - 多次调用](/solution/0100-0199/0158.Read%20N%20Characters%20Given%20read4%20II%20-%20Call%20Multiple%20Times/README.md)
- [0159.至多包含两个不同字符的最长子串](/solution/0100-0199/0159.Longest%20Substring%20with%20At%20Most%20Two%20Distinct%20Characters/README.md)
- [0160.相交链表](/solution/0100-0199/0160.Intersection%20of%20Two%20Linked%20Lists/README.md)
- [0161.相隔为 1 的编辑距离](/solution/0100-0199/0161.One%20Edit%20Distance/README.md)
@@ -258,7 +258,7 @@
- [0252.会议室](/solution/0200-0299/0252.Meeting%20Rooms/README.md)
- [0253.会议室 II](/solution/0200-0299/0253.Meeting%20Rooms%20II/README.md)
- [0254.因子的组合](/solution/0200-0299/0254.Factor%20Combinations/README.md)
- - [0255.验证前序遍历序列二叉搜索树](/solution/0200-0299/0255.Verify%20Preorder%20Sequence%20in%20Binary%20Search%20Tree/README.md)
+ - [0255.验证二叉搜索树的前序遍历序列](/solution/0200-0299/0255.Verify%20Preorder%20Sequence%20in%20Binary%20Search%20Tree/README.md)
- [0256.粉刷房子](/solution/0200-0299/0256.Paint%20House/README.md)
- [0257.二叉树的所有路径](/solution/0200-0299/0257.Binary%20Tree%20Paths/README.md)
- [0258.各位相加](/solution/0200-0299/0258.Add%20Digits/README.md)
@@ -287,7 +287,7 @@
- [0281.锯齿迭代器](/solution/0200-0299/0281.Zigzag%20Iterator/README.md)
- [0282.给表达式添加运算符](/solution/0200-0299/0282.Expression%20Add%20Operators/README.md)
- [0283.移动零](/solution/0200-0299/0283.Move%20Zeroes/README.md)
- - [0284.顶端迭代器](/solution/0200-0299/0284.Peeking%20Iterator/README.md)
+ - [0284.窥视迭代器](/solution/0200-0299/0284.Peeking%20Iterator/README.md)
- [0285.二叉搜索树中的中序后继](/solution/0200-0299/0285.Inorder%20Successor%20in%20BST/README.md)
- [0286.墙与门](/solution/0200-0299/0286.Walls%20and%20Gates/README.md)
- [0287.寻找重复数](/solution/0200-0299/0287.Find%20the%20Duplicate%20Number/README.md)
@@ -344,7 +344,7 @@
- [0336.回文对](/solution/0300-0399/0336.Palindrome%20Pairs/README.md)
- [0337.打家劫舍 III](/solution/0300-0399/0337.House%20Robber%20III/README.md)
- [0338.比特位计数](/solution/0300-0399/0338.Counting%20Bits/README.md)
- - [0339.嵌套列表权重和](/solution/0300-0399/0339.Nested%20List%20Weight%20Sum/README.md)
+ - [0339.嵌套列表加权和](/solution/0300-0399/0339.Nested%20List%20Weight%20Sum/README.md)
- [0340.至多包含 K 个不同字符的最长子串](/solution/0300-0399/0340.Longest%20Substring%20with%20At%20Most%20K%20Distinct%20Characters/README.md)
- [0341.扁平化嵌套列表迭代器](/solution/0300-0399/0341.Flatten%20Nested%20List%20Iterator/README.md)
- [0342.4的幂](/solution/0300-0399/0342.Power%20of%20Four/README.md)
@@ -364,16 +364,16 @@
- [0356.直线镜像](/solution/0300-0399/0356.Line%20Reflection/README.md)
- [0357.统计各位数字都不同的数字个数](/solution/0300-0399/0357.Count%20Numbers%20with%20Unique%20Digits/README.md)
- [0358.K 距离间隔重排字符串](/solution/0300-0399/0358.Rearrange%20String%20k%20Distance%20Apart/README.md)
- - [0359.日志速率限制器](/solution/0300-0399/0359.Logger%20Rate%20Limiter/README.md)
+ - [0359.Logger Rate Limiter](/solution/0300-0399/0359.Logger%20Rate%20Limiter/README.md)
- [0360.有序转化数组](/solution/0300-0399/0360.Sort%20Transformed%20Array/README.md)
- [0361.轰炸敌人](/solution/0300-0399/0361.Bomb%20Enemy/README.md)
- [0362.敲击计数器](/solution/0300-0399/0362.Design%20Hit%20Counter/README.md)
- [0363.矩形区域不超过 K 的最大数值和](/solution/0300-0399/0363.Max%20Sum%20of%20Rectangle%20No%20Larger%20Than%20K/README.md)
- - [0364.加权嵌套序列和 II](/solution/0300-0399/0364.Nested%20List%20Weight%20Sum%20II/README.md)
+ - [0364.嵌套列表加权和 II](/solution/0300-0399/0364.Nested%20List%20Weight%20Sum%20II/README.md)
- [0365.水壶问题](/solution/0300-0399/0365.Water%20and%20Jug%20Problem/README.md)
- [0366.寻找二叉树的叶子节点](/solution/0300-0399/0366.Find%20Leaves%20of%20Binary%20Tree/README.md)
- - [0367.有效的完全平方数](/solution/0300-0399/0367.Valid%20Perfect%20Square/README.md)
- - [0368.最大整除子集](/solution/0300-0399/0368.Largest%20Divisible%20Subset/README.md)
+ - [0367.Valid Perfect Square](/solution/0300-0399/0367.Valid%20Perfect%20Square/README.md)
+ - [0368.Largest Divisible Subset](/solution/0300-0399/0368.Largest%20Divisible%20Subset/README.md)
- [0369.给单链表加一](/solution/0300-0399/0369.Plus%20One%20Linked%20List/README.md)
- [0370.区间加法](/solution/0300-0399/0370.Range%20Addition/README.md)
- [0371.两整数之和](/solution/0300-0399/0371.Sum%20of%20Two%20Integers/README.md)
@@ -498,7 +498,7 @@
- [0488.祖玛游戏](/solution/0400-0499/0488.Zuma%20Game/README.md)
- [0489.扫地机器人](/solution/0400-0499/0489.Robot%20Room%20Cleaner/README.md)
- [0490.迷宫](/solution/0400-0499/0490.The%20Maze/README.md)
- - [0491.递增子序列](/solution/0400-0499/0491.Non-decreasing%20Subsequences/README.md)
+ - [0491.非递减子序列](/solution/0400-0499/0491.Non-decreasing%20Subsequences/README.md)
- [0492.构造矩形](/solution/0400-0499/0492.Construct%20the%20Rectangle/README.md)
- [0493.翻转对](/solution/0400-0499/0493.Reverse%20Pairs/README.md)
- [0494.目标和](/solution/0400-0499/0494.Target%20Sum/README.md)
@@ -607,7 +607,7 @@
- [0595.大的国家](/solution/0500-0599/0595.Big%20Countries/README.md)
- [0596.超过5名学生的课](/solution/0500-0599/0596.Classes%20More%20Than%205%20Students/README.md)
- [0597.好友申请 I:总体通过率](/solution/0500-0599/0597.Friend%20Requests%20I%20Overall%20Acceptance%20Rate/README.md)
- - [0598.范围求和 II](/solution/0500-0599/0598.Range%20Addition%20II/README.md)
+ - [0598.区间加法 II](/solution/0500-0599/0598.Range%20Addition%20II/README.md)
- [0599.两个列表的最小索引总和](/solution/0500-0599/0599.Minimum%20Index%20Sum%20of%20Two%20Lists/README.md)
- 0600-0699
@@ -661,8 +661,8 @@
- [0647.回文子串](/solution/0600-0699/0647.Palindromic%20Substrings/README.md)
- [0648.单词替换](/solution/0600-0699/0648.Replace%20Words/README.md)
- [0649.Dota2 参议院](/solution/0600-0699/0649.Dota2%20Senate/README.md)
- - [0650.只有两个键的键盘](/solution/0600-0699/0650.2%20Keys%20Keyboard/README.md)
- - [0651.4键键盘](/solution/0600-0699/0651.4%20Keys%20Keyboard/README.md)
+ - [0650.两个键的键盘](/solution/0600-0699/0650.2%20Keys%20Keyboard/README.md)
+ - [0651.四个键的键盘](/solution/0600-0699/0651.4%20Keys%20Keyboard/README.md)
- [0652.寻找重复的子树](/solution/0600-0699/0652.Find%20Duplicate%20Subtrees/README.md)
- [0653.两数之和 IV - 输入二叉搜索树](/solution/0600-0699/0653.Two%20Sum%20IV%20-%20Input%20is%20a%20BST/README.md)
- [0654.最大二叉树](/solution/0600-0699/0654.Maximum%20Binary%20Tree/README.md)
@@ -748,7 +748,7 @@
- [0732.我的日程安排表 III](/solution/0700-0799/0732.My%20Calendar%20III/README.md)
- [0733.图像渲染](/solution/0700-0799/0733.Flood%20Fill/README.md)
- [0734.句子相似性](/solution/0700-0799/0734.Sentence%20Similarity/README.md)
- - [0735.行星碰撞](/solution/0700-0799/0735.Asteroid%20Collision/README.md)
+ - [0735.小行星碰撞](/solution/0700-0799/0735.Asteroid%20Collision/README.md)
- [0736.Lisp 语法解析](/solution/0700-0799/0736.Parse%20Lisp%20Expression/README.md)
- [0737.句子相似性 II](/solution/0700-0799/0737.Sentence%20Similarity%20II/README.md)
- [0738.单调递增的数字](/solution/0700-0799/0738.Monotone%20Increasing%20Digits/README.md)
@@ -1228,7 +1228,7 @@
- [1202.交换字符串中的元素](/solution/1200-1299/1202.Smallest%20String%20With%20Swaps/README.md)
- [1203.项目管理](/solution/1200-1299/1203.Sort%20Items%20by%20Groups%20Respecting%20Dependencies/README.md)
- [1204.最后一个能进入巴士的人](/solution/1200-1299/1204.Last%20Person%20to%20Fit%20in%20the%20Bus/README.md)
- - [1205.每月交易II](/solution/1200-1299/1205.Monthly%20Transactions%20II/README.md)
+ - [1205.每月交易 II](/solution/1200-1299/1205.Monthly%20Transactions%20II/README.md)
- [1206.设计跳表](/solution/1200-1299/1206.Design%20Skiplist/README.md)
- [1207.独一无二的出现次数](/solution/1200-1299/1207.Unique%20Number%20of%20Occurrences/README.md)
- [1208.尽可能使字符串相等](/solution/1200-1299/1208.Get%20Equal%20Substrings%20Within%20Budget/README.md)
@@ -1239,7 +1239,7 @@
- [1213.三个有序数组的交集](/solution/1200-1299/1213.Intersection%20of%20Three%20Sorted%20Arrays/README.md)
- [1214.查找两棵二叉搜索树之和](/solution/1200-1299/1214.Two%20Sum%20BSTs/README.md)
- [1215.步进数](/solution/1200-1299/1215.Stepping%20Numbers/README.md)
- - [1216.验证回文字符串 III](/solution/1200-1299/1216.Valid%20Palindrome%20III/README.md)
+ - [1216.验证回文串 III](/solution/1200-1299/1216.Valid%20Palindrome%20III/README.md)
- [1217.玩筹码](/solution/1200-1299/1217.Minimum%20Cost%20to%20Move%20Chips%20to%20The%20Same%20Position/README.md)
- [1218.最长定差子序列](/solution/1200-1299/1218.Longest%20Arithmetic%20Subsequence%20of%20Given%20Difference/README.md)
- [1219.黄金矿工](/solution/1200-1299/1219.Path%20with%20Maximum%20Gold/README.md)
@@ -1293,7 +1293,7 @@
- [1267.统计参与通信的服务器](/solution/1200-1299/1267.Count%20Servers%20that%20Communicate/README.md)
- [1268.搜索推荐系统](/solution/1200-1299/1268.Search%20Suggestions%20System/README.md)
- [1269.停在原地的方案数](/solution/1200-1299/1269.Number%20of%20Ways%20to%20Stay%20in%20the%20Same%20Place%20After%20Some%20Steps/README.md)
- - [1270.向公司CEO汇报工作的所有人](/solution/1200-1299/1270.All%20People%20Report%20to%20the%20Given%20Manager/README.md)
+ - [1270.向公司 CEO 汇报工作的所有人](/solution/1200-1299/1270.All%20People%20Report%20to%20the%20Given%20Manager/README.md)
- [1271.十六进制魔术数字](/solution/1200-1299/1271.Hexspeak/README.md)
- [1272.删除区间](/solution/1200-1299/1272.Remove%20Interval/README.md)
- [1273.删除树节点](/solution/1200-1299/1273.Delete%20Tree%20Nodes/README.md)
@@ -1676,7 +1676,7 @@
- [1642.可以到达的最远建筑](/solution/1600-1699/1642.Furthest%20Building%20You%20Can%20Reach/README.md)
- [1643.第 K 条最小指令](/solution/1600-1699/1643.Kth%20Smallest%20Instructions/README.md)
- [1644.二叉树的最近公共祖先 II](/solution/1600-1699/1644.Lowest%20Common%20Ancestor%20of%20a%20Binary%20Tree%20II/README.md)
- - [1645.1645.Hopper 公司查询 II](/solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md)
+ - [1645.Hopper 公司查询 II](/solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md)
- [1646.获取生成数组中的最大值](/solution/1600-1699/1646.Get%20Maximum%20in%20Generated%20Array/README.md)
- [1647.字符频次唯一的最小删除次数](/solution/1600-1699/1647.Minimum%20Deletions%20to%20Make%20Character%20Frequencies%20Unique/README.md)
- [1648.销售价值减少的颜色球](/solution/1600-1699/1648.Sell%20Diminishing-Valued%20Colored%20Balls/README.md)
@@ -2141,7 +2141,7 @@
- [2099.找到和最大的长度为 K 的子序列](/solution/2000-2099/2099.Find%20Subsequence%20of%20Length%20K%20With%20the%20Largest%20Sum/README.md)
- 2100-2199
- - [2100.适合打劫银行的日子](/solution/2100-2199/2100.Find%20Good%20Days%20to%20Rob%20the%20Bank/README.md)
+ - [2100.适合野炊的日子](/solution/2100-2199/2100.Find%20Good%20Days%20to%20Rob%20the%20Bank/README.md)
- [2101.引爆最多的炸弹](/solution/2100-2199/2101.Detonate%20the%20Maximum%20Bombs/README.md)
- [2102.序列顺序查询](/solution/2100-2199/2102.Sequentially%20Ordinal%20Rank%20Tracker/README.md)
- [2103.环和杆](/solution/2100-2199/2103.Rings%20and%20Rods/README.md)
@@ -2375,7 +2375,7 @@
- [2327.知道秘密的人数](/solution/2300-2399/2327.Number%20of%20People%20Aware%20of%20a%20Secret/README.md)
- [2328.网格图中递增路径的数目](/solution/2300-2399/2328.Number%20of%20Increasing%20Paths%20in%20a%20Grid/README.md)
- [2329.产品销售分析Ⅴ](/solution/2300-2399/2329.Product%20Sales%20Analysis%20V/README.md)
- - [2330.有效的回文 IV](/solution/2300-2399/2330.Valid%20Palindrome%20IV/README.md)
+ - [2330.验证回文串 IV](/solution/2300-2399/2330.Valid%20Palindrome%20IV/README.md)
- [2331.计算布尔二叉树的值](/solution/2300-2399/2331.Evaluate%20Boolean%20Binary%20Tree/README.md)
- [2332.坐上公交的最晚时间](/solution/2300-2399/2332.The%20Latest%20Time%20to%20Catch%20a%20Bus/README.md)
- [2333.最小差值平方和](/solution/2300-2399/2333.Minimum%20Sum%20of%20Squared%20Difference/README.md)
@@ -2476,7 +2476,7 @@
- [2426.满足不等式的数对数目](/solution/2400-2499/2426.Number%20of%20Pairs%20Satisfying%20Inequality/README.md)
- [2427.公因子的数目](/solution/2400-2499/2427.Number%20of%20Common%20Factors/README.md)
- [2428.沙漏的最大总和](/solution/2400-2499/2428.Maximum%20Sum%20of%20an%20Hourglass/README.md)
- - [2429.最小 XOR](/solution/2400-2499/2429.Minimize%20XOR/README.md)
+ - [2429.最小异或](/solution/2400-2499/2429.Minimize%20XOR/README.md)
- [2430.对字母串可执行的最大删除数](/solution/2400-2499/2430.Maximum%20Deletions%20on%20a%20String/README.md)
- [2431.最大限度地提高购买水果的口味](/solution/2400-2499/2431.Maximize%20Total%20Tastiness%20of%20Purchased%20Fruits/README.md)
- [2432.处理用时最长的那个任务的员工](/solution/2400-2499/2432.The%20Employee%20That%20Worked%20on%20the%20Longest%20Task/README.md)
@@ -2576,11 +2576,11 @@
- [2524.子数组的最大频率分数](/solution/2500-2599/2524.Maximum%20Frequency%20Score%20of%20a%20Subarray/README.md)
- [2525.根据规则将箱子分类](/solution/2500-2599/2525.Categorize%20Box%20According%20to%20Criteria/README.md)
- [2526.找到数据流中的连续整数](/solution/2500-2599/2526.Find%20Consecutive%20Integers%20from%20a%20Data%20Stream/README.md)
- - [2527.查询数组 Xor 美丽值](/solution/2500-2599/2527.Find%20Xor-Beauty%20of%20Array/README.md)
- - [2528.最大化城市的最小供电站数目](/solution/2500-2599/2528.Maximize%20the%20Minimum%20Powered%20City/README.md)
+ - [2527.查询数组异或美丽值](/solution/2500-2599/2527.Find%20Xor-Beauty%20of%20Array/README.md)
+ - [2528.最大化城市的最小电量](/solution/2500-2599/2528.Maximize%20the%20Minimum%20Powered%20City/README.md)
- [2529.正整数和负整数的最大计数](/solution/2500-2599/2529.Maximum%20Count%20of%20Positive%20Integer%20and%20Negative%20Integer/README.md)
- [2530.执行 K 次操作后的最大分数](/solution/2500-2599/2530.Maximal%20Score%20After%20Applying%20K%20Operations/README.md)
- - [2531.使字符串总不同字符的数目相等](/solution/2500-2599/2531.Make%20Number%20of%20Distinct%20Characters%20Equal/README.md)
+ - [2531.使字符串中不同字符的数目相等](/solution/2500-2599/2531.Make%20Number%20of%20Distinct%20Characters%20Equal/README.md)
- [2532.过桥的时间](/solution/2500-2599/2532.Time%20to%20Cross%20a%20Bridge/README.md)
- [2533.好二进制字符串的数量](/solution/2500-2599/2533.Number%20of%20Good%20Binary%20Strings/README.md)
- [2534.通过门的时间](/solution/2500-2599/2534.Time%20Taken%20to%20Cross%20the%20Door/README.md)
@@ -2776,7 +2776,7 @@
- [2720.受欢迎度百分比](/solution/2700-2799/2720.Popularity%20Percentage/README.md)
- [2721.并行执行异步函数](/solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README.md)
- [2722.根据 ID 合并两个数组](/solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README.md)
- - [2723.添加两个 Promise 对象](/solution/2700-2799/2723.Add%20Two%20Promises/README.md)
+ - [2723.两个 Promise 对象相加](/solution/2700-2799/2723.Add%20Two%20Promises/README.md)
- [2724.排序方式](/solution/2700-2799/2724.Sort%20By/README.md)
- [2725.间隔取消](/solution/2700-2799/2725.Interval%20Cancellation/README.md)
- [2726.使用方法链的计算器](/solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README.md)
@@ -2978,7 +2978,7 @@
- [2918.数组的最小相等和](/solution/2900-2999/2918.Minimum%20Equal%20Sum%20of%20Two%20Arrays%20After%20Replacing%20Zeros/README.md)
- [2919.使数组变美的最小增量运算数](/solution/2900-2999/2919.Minimum%20Increment%20Operations%20to%20Make%20Array%20Beautiful/README.md)
- [2920.收集所有金币可获得的最大积分](/solution/2900-2999/2920.Maximum%20Points%20After%20Collecting%20Coins%20From%20All%20Nodes/README.md)
- - [2921.具有递增价格的最大利润三元组 II](/solution/2900-2999/2921.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20II/README.md)
+ - [2921.价格递增的最大利润三元组 II](/solution/2900-2999/2921.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20II/README.md)
- [2922.市场分析 III](/solution/2900-2999/2922.Market%20Analysis%20III/README.md)
- [2923.找到冠军 I](/solution/2900-2999/2923.Find%20Champion%20I/README.md)
- [2924.找到冠军 II](/solution/2900-2999/2924.Find%20Champion%20II/README.md)