diff --git a/solution/0100-0199/0197.Rising Temperature/README.md b/solution/0100-0199/0197.Rising Temperature/README.md
index 7315f44bb7e9b..bd607a10c0d14 100644
--- a/solution/0100-0199/0197.Rising Temperature/README.md
+++ b/solution/0100-0199/0197.Rising Temperature/README.md
@@ -19,6 +19,7 @@
| temperature | int |
+---------------+---------+
id 是该表具有唯一值的列。
+没有具有相同 recordDate 的不同行。
该表包含特定日期的温度信息
diff --git a/solution/0100-0199/0197.Rising Temperature/README_EN.md b/solution/0100-0199/0197.Rising Temperature/README_EN.md
index 24eb78c0aa349..070c8c88f53b2 100644
--- a/solution/0100-0199/0197.Rising Temperature/README_EN.md
+++ b/solution/0100-0199/0197.Rising Temperature/README_EN.md
@@ -15,6 +15,7 @@
| temperature | int |
+---------------+---------+
id is the column with unique values for this table.
+There are no different rows with the same recordDate.
This table contains information about the temperature on a certain day.
diff --git a/solution/0500-0599/0521.Longest Uncommon Subsequence I/README_EN.md b/solution/0500-0599/0521.Longest Uncommon Subsequence I/README_EN.md
index 5afc6330f2779..3ed5479011743 100644
--- a/solution/0500-0599/0521.Longest Uncommon Subsequence I/README_EN.md
+++ b/solution/0500-0599/0521.Longest Uncommon Subsequence I/README_EN.md
@@ -4,15 +4,9 @@
## Description
-Given two strings a
and b
, return the length of the longest uncommon subsequence between a
and b
. If the longest uncommon subsequence does not exist, return -1
.
+Given two strings a
and b
, return the length of the longest uncommon subsequence between a
and b
. If no such uncommon subsequence exists, return -1
.
-An uncommon subsequence between two strings is a string that is a subsequence of one but not the other.
-
-A subsequence of a string s
is a string that can be obtained after deleting any number of characters from s
.
-
-
- - For example,
"abc"
is a subsequence of "aebdc"
because you can delete the underlined characters in "aebdc"
to get "abc"
. Other subsequences of "aebdc"
include "aebdc"
, "aeb"
, and ""
(empty string).
-
+An uncommon subsequence between two strings is a string that is a subsequence of exactly one of them.
Example 1:
@@ -37,7 +31,7 @@ Note that "cdc" is also a longest uncommon subsequence.
Input: a = "aaa", b = "aaa"
Output: -1
-Explanation: Every subsequence of string a is also a subsequence of string b. Similarly, every subsequence of string b is also a subsequence of string a.
+Explanation: Every subsequence of string a is also a subsequence of string b. Similarly, every subsequence of string b is also a subsequence of string a. So the answer would be -1
.
diff --git a/solution/0600-0699/0606.Construct String from Binary Tree/README_EN.md b/solution/0600-0699/0606.Construct String from Binary Tree/README_EN.md
index 47494459bb4d1..31924d392da56 100644
--- a/solution/0600-0699/0606.Construct String from Binary Tree/README_EN.md
+++ b/solution/0600-0699/0606.Construct String from Binary Tree/README_EN.md
@@ -4,25 +4,43 @@
## Description
-Given the root
of a binary tree, construct a string consisting of parenthesis and integers from a binary tree with the preorder traversal way, and return it.
+Given the root
node of a binary tree, your task is to create a string representation of the tree following a specific set of formatting rules. The representation should be based on a preorder traversal of the binary tree and must adhere to the following guidelines:
-Omit all the empty parenthesis pairs that do not affect the one-to-one mapping relationship between the string and the original binary tree.
+
+ -
+
Node Representation: Each node in the tree should be represented by its integer value.
+
+ -
+
Parentheses for Children: If a node has at least one child (either left or right), its children should be represented inside parentheses. Specifically:
+
+
+ - If a node has a left child, the value of the left child should be enclosed in parentheses immediately following the node's value.
+ - If a node has a right child, the value of the right child should also be enclosed in parentheses. The parentheses for the right child should follow those of the left child.
+
+
+ -
+
Omitting Empty Parentheses: Any empty parentheses pairs (i.e., ()
) should be omitted from the final string representation of the tree, with one specific exception: when a node has a right child but no left child. In such cases, you must include an empty pair of parentheses to indicate the absence of the left child. This ensures that the one-to-one mapping between the string representation and the original binary tree structure is maintained.
+
+ In summary, empty parentheses pairs should be omitted when a node has only a left child or no children. However, when a node has a right child but no left child, an empty pair of parentheses must precede the representation of the right child to reflect the tree's structure accurately.
+
+
+
Example 1:
-
+
Input: root = [1,2,3,4]
Output: "1(2(4))(3)"
-Explanation: Originally, it needs to be "1(2(4)())(3()())", but you need to omit all the unnecessary empty parenthesis pairs. And it will be "1(2(4))(3)"
+Explanation: Originally, it needs to be "1(2(4)())(3()())", but you need to omit all the empty parenthesis pairs. And it will be "1(2(4))(3)".
Example 2:
-
+
Input: root = [1,2,3,null,4]
Output: "1(2()(4))(3)"
-Explanation: Almost the same as the first example, except we cannot omit the first parenthesis pair to break the one-to-one mapping relationship between the input and the output.
+Explanation: Almost the same as the first example, except the ()
after 2
is necessary to indicate the absence of a left child for 2
and the presence of a right child.
diff --git a/solution/0800-0899/0827.Making A Large Island/README.md b/solution/0800-0899/0827.Making A Large Island/README.md
index ead89263fb7dc..d7dacf23f4f09 100644
--- a/solution/0800-0899/0827.Making A Large Island/README.md
+++ b/solution/0800-0899/0827.Making A Large Island/README.md
@@ -6,15 +6,15 @@
-给你一个大小为 n x n
二进制矩阵 grid
。最多 只能将一格 0
变成 1
。
+给你一个大小为 n x n
二进制矩阵 grid
。最多 只能将一格 0
变成 1
。
返回执行此操作后,grid
中最大的岛屿面积是多少?
-岛屿 由一组上、下、左、右四个方向相连的 1
形成。
+岛屿 由一组上、下、左、右四个方向相连的 1
形成。
-
+
-示例 1:
+示例 1:
输入: grid = [[1, 0], [0, 1]]
@@ -22,28 +22,28 @@
解释: 将一格0变成1,最终连通两个小岛得到面积为 3 的岛屿。
-示例 2:
+示例 2:
输入: grid = [[1, 1], [1, 0]]
输出: 4
解释: 将一格0变成1,岛屿的面积扩大为 4。
-示例 3:
+示例 3:
输入: grid = [[1, 1], [1, 1]]
输出: 4
解释: 没有0可以让我们变成1,面积依然为 4。
-
+
提示:
n == grid.length
n == grid[i].length
- 1 <= n <= 500
+ 1 <= n <= 500
grid[i][j]
为 0
或 1
diff --git a/solution/1600-1699/1657.Determine if Two Strings Are Close/README.md b/solution/1600-1699/1657.Determine if Two Strings Are Close/README.md
index d40983cf100f6..cee2cb18611fe 100644
--- a/solution/1600-1699/1657.Determine if Two Strings Are Close/README.md
+++ b/solution/1600-1699/1657.Determine if Two Strings Are Close/README.md
@@ -12,12 +12,12 @@
操作 1:交换任意两个 现有 字符。
- - 例如,
abcde -> aecdb
+ - 例如,
abcde -> aecdb
操作 2:将一个 现有 字符的每次出现转换为另一个 现有 字符,并对另一个字符执行相同的操作。
- - 例如,
aacabb -> bbcbaa
(所有 a
转化为 b
,而所有的 b
转换为 a
)
+ - 例如,
aacabb -> bbcbaa
(所有 a
转化为 b
,而所有的 b
转换为 a
)
@@ -27,7 +27,7 @@
给你两个字符串,word1
和 word2
。如果 word1
和 word2
接近 ,就返回 true
;否则,返回 false
。
-
+
示例 1:
@@ -35,8 +35,8 @@
输入:word1 = "abc", word2 = "bca"
输出:true
解释:2 次操作从 word1 获得 word2 。
-执行操作 1:"abc" -> "acb"
-执行操作 1:"acb" -> "bca"
+执行操作 1:"abc" -> "acb"
+执行操作 1:"acb" -> "bca"
示例 2:
@@ -52,24 +52,15 @@
输入:word1 = "cabbba", word2 = "abbccc"
输出:true
解释:3 次操作从 word1 获得 word2 。
-执行操作 1:"cabbba" -> "caabbb"
-执行操作 2:"
caabbb" -> "baaccc"
-执行操作 2:"baaccc" -> "abbccc"
+执行操作 1:"cabbba" -> "caabbb"
+执行操作 2:"
caabbb" -> "baaccc"
+执行操作 2:"baaccc" -> "abbccc"
-示例 4:
-
-
-输入:word1 = "cabbba", word2 = "aabbss"
-输出:false
-解释:不管执行多少次操作,都无法从 word1 得到 word2 ,反之亦然。
-
-
-
提示:
- 1 <= word1.length, word2.length <= 105
+ 1 <= word1.length, word2.length <= 105
word1
和 word2
仅包含小写英文字母
diff --git a/solution/1600-1699/1657.Determine if Two Strings Are Close/README_EN.md b/solution/1600-1699/1657.Determine if Two Strings Are Close/README_EN.md
index 07542498527ee..b1a81b5c47b23 100644
--- a/solution/1600-1699/1657.Determine if Two Strings Are Close/README_EN.md
+++ b/solution/1600-1699/1657.Determine if Two Strings Are Close/README_EN.md
@@ -51,7 +51,7 @@ Apply Operation 1: "acb" -> "bca&q
Output: true
Explanation: You can attain word2 from word1 in 3 operations.
Apply Operation 1: "cabbba" -> "caabbb"
-Apply Operation 2: "
caabbb" -> "baaccc"
+Apply Operation 2: "caabbb" -> "baaccc"
Apply Operation 2: "baaccc" -> "abbccc"
diff --git a/solution/2100-2199/2186.Minimum Number of Steps to Make Two Strings Anagram II/README.md b/solution/2100-2199/2186.Minimum Number of Steps to Make Two Strings Anagram II/README.md
index dbad9dadd81d1..b33e23459e52d 100644
--- a/solution/2100-2199/2186.Minimum Number of Steps to Make Two Strings Anagram II/README.md
+++ b/solution/2100-2199/2186.Minimum Number of Steps to Make Two Strings Anagram II/README.md
@@ -1,4 +1,4 @@
-# [2186. 使两字符串互为字母异位词的最少步骤数](https://leetcode.cn/problems/minimum-number-of-steps-to-make-two-strings-anagram-ii)
+# [2186. 制造字母异位词的最小步骤数 II](https://leetcode.cn/problems/minimum-number-of-steps-to-make-two-strings-anagram-ii)
[English Version](/solution/2100-2199/2186.Minimum%20Number%20of%20Steps%20to%20Make%20Two%20Strings%20Anagram%20II/README_EN.md)
diff --git a/solution/2200-2299/2254.Design Video Sharing Platform/README_EN.md b/solution/2200-2299/2254.Design Video Sharing Platform/README_EN.md
index ed84a54b8443e..48735ea26dbce 100644
--- a/solution/2200-2299/2254.Design Video Sharing Platform/README_EN.md
+++ b/solution/2200-2299/2254.Design Video Sharing Platform/README_EN.md
@@ -40,7 +40,7 @@ videoSharingPlatform.remove(0); // Remove the video associated with
videoSharingPlatform.upload("789"); // Since the video associated with videoId 0 was deleted,
// 0 is the smallest available videoId
, so return 0.
videoSharingPlatform.watch(1, 0, 5); // The video associated with videoId 1 is "456".
- // The video from minute 0 to min(5, 3 - 1) = 2 is "456", so return "453".
+ // The video from minute 0 to min(5, 3 - 1) = 2 is "456", so return "456".
videoSharingPlatform.watch(1, 0, 1); // The video associated with videoId 1 is "456".
// The video from minute 0 to min(1, 3 - 1) = 1 is "45", so return "45".
videoSharingPlatform.like(1); // Increase the number of likes on the video associated with videoId 1.
diff --git a/solution/2600-2699/2654.Minimum Number of Operations to Make All Array Elements Equal to 1/README_EN.md b/solution/2600-2699/2654.Minimum Number of Operations to Make All Array Elements Equal to 1/README_EN.md
index 1c4be2b90b609..a3ea54895b131 100644
--- a/solution/2600-2699/2654.Minimum Number of Operations to Make All Array Elements Equal to 1/README_EN.md
+++ b/solution/2600-2699/2654.Minimum Number of Operations to Make All Array Elements Equal to 1/README_EN.md
@@ -43,11 +43,6 @@
1 <= nums[i] <= 106
-
-Follow-up:
-
-The O(n)
time complexity solution works, but could you find an O(1)
constant time complexity solution?
-
## Solutions
### Solution 1
diff --git a/solution/2900-2999/2990.Loan Types/README.md b/solution/2900-2999/2990.Loan Types/README.md
index 331f8e4d518fe..6fbb466a78e33 100644
--- a/solution/2900-2999/2990.Loan Types/README.md
+++ b/solution/2900-2999/2990.Loan Types/README.md
@@ -32,7 +32,7 @@ loan_id 是这张表具有唯一值的列。
输入:
-Sessions table:
+Loans table:
+---------+---------+-----------+
| loan_id | user_id | loan_type |
+---------+---------+-----------+
diff --git a/solution/2900-2999/2990.Loan Types/README_EN.md b/solution/2900-2999/2990.Loan Types/README_EN.md
index 7f0c02aa76e80..d1264d1ea20c9 100644
--- a/solution/2900-2999/2990.Loan Types/README_EN.md
+++ b/solution/2900-2999/2990.Loan Types/README_EN.md
@@ -29,7 +29,7 @@ This table contains loan_id, user_id, and loan_type.
Input:
-Sessions table:
+Loans table:
+---------+---------+-----------+
| loan_id | user_id | loan_type |
+---------+---------+-----------+
diff --git a/solution/3000-3099/3018.Maximum Number of Removal Queries That Can Be Processed I/README.md b/solution/3000-3099/3018.Maximum Number of Removal Queries That Can Be Processed I/README.md
index 21b6c60f7e4ca..f31c1c75174e1 100644
--- a/solution/3000-3099/3018.Maximum Number of Removal Queries That Can Be Processed I/README.md
+++ b/solution/3000-3099/3018.Maximum Number of Removal Queries That Can Be Processed I/README.md
@@ -1,4 +1,4 @@
-# [3018. Maximum Number of Removal Queries That Can Be Processed I](https://leetcode.cn/problems/maximum-number-of-removal-queries-that-can-be-processed-i)
+# [3018. 可处理的最大删除操作数 I](https://leetcode.cn/problems/maximum-number-of-removal-queries-that-can-be-processed-i)
[English Version](/solution/3000-3099/3018.Maximum%20Number%20of%20Removal%20Queries%20That%20Can%20Be%20Processed%20I/README_EN.md)
@@ -6,68 +6,70 @@
-You are given a 0-indexed array nums
and a 0-indexed array queries
.
+给定一个下标 从 0 开始 的数组 nums
和一个下标 从 0 开始 的数组 queries
。
-You can do the following operation at the beginning at most once:
+你可以在开始时执行以下操作 最多一次:
- - Replace
nums
with a subsequence of nums
.
+ - 用
nums
的子序列替换 nums
。
-We start processing queries in the given order; for each query, we do the following:
+我们以给定的顺序开始处理查询;对于每个查询,我们执行以下操作:
- - If the first and the last element of
nums
is less than queries[i]
, the processing of queries ends.
- - Otherwise, we choose either the first or the last element of
nums
if it is greater than or equal to queries[i]
, and we remove the chosen element from nums
.
+ - 如果
nums
的第一个 和 最后一个元素 小于 queries[i]
,则查询处理 结束。
+ - 否则,如果
nums
的第一个 或 最后一个元素 大于或等于 queries[i]
,则选择它,并从 nums
中 删除 选定的元素。
-Return the maximum number of queries that can be processed by doing the operation optimally.
+返回通过以最佳方式执行该操作可以处理的 最大 查询数。
-Example 1:
+
+示例 1:
-Input: nums = [1,2,3,4,5], queries = [1,2,3,4,6]
-Output: 4
-Explanation: We don't do any operation and process the queries as follows:
-1- We choose and remove nums[0] since 1 <= 1, then nums becomes [2,3,4,5].
-2- We choose and remove nums[0] since 2 <= 2, then nums becomes [3,4,5].
-3- We choose and remove nums[0] since 3 <= 3, then nums becomes [4,5].
-4- We choose and remove nums[0] since 4 <= 4, then nums becomes [5].
-5- We can not choose any elements from nums since they are not greater than or equal to 5.
-Hence, the answer is 4.
-It can be shown that we can't process more than 4 queries.
+输入:nums = [1,2,3,4,5], queries = [1,2,3,4,6]
+输出:4
+解释:我们不执行任何操作,并按如下方式处理查询:
+1- 我们选择并移除 nums[0],因为 1 <= 1,那么 nums 就变成 [2,3,4,5]。
+2- 我们选择并移除 nums[0],因为 2 <= 2,那么 nums 就变成 [3,4,5]。
+3- 我们选择并移除 nums[0],因为 3 <= 3,那么 nums 就变成 [4,5]。
+4- 我们选择并移除 nums[0],因为 4 <= 4,那么 nums 就变成 [5]。
+5- 我们不能从 nums 中选择任何元素,因为它们不大于或等于 5。
+因此,答案为 4。
+可以看出,我们不能处理超过 4 个查询。
-Example 2:
+示例 2:
-Input: nums = [2,3,2], queries = [2,2,3]
-Output: 3
-Explanation: We don't do any operation and process the queries as follows:
-1- We choose and remove nums[0] since 2 <= 2, then nums becomes [3,2].
-2- We choose and remove nums[1] since 2 <= 2, then nums becomes [3].
-3- We choose and remove nums[0] since 3 <= 3, then nums becomes [].
-Hence, the answer is 3.
-It can be shown that we can't process more than 3 queries.
+输入:nums = [2,3,2], queries = [2,2,3]
+输出:3
+解释:我们不做任何操作,按如下方式处理查询:
+1- 我们选择并移除 nums[0],因为 2 <= 2,那么 nums 就变成 [3,2]。
+2- 我们选择并移除 nums[1],因为 2 <= 2,那么 nums 就变成 [3]。
+3- 我们选择并移除 nums[0],因为 3 <= 3,那么 nums 就变成 []。
+因此,答案为 3。
+可以看出,我们不能处理超过 3 个查询。
-Example 3:
+示例 3:
-Input: nums = [3,4,3], queries = [4,3,2]
-Output: 2
-Explanation: First we replace nums with the subsequence of nums [4,3].
-Then we can process the queries as follows:
-1- We choose and remove nums[0] since 4 <= 4, then nums becomes [3].
-2- We choose and remove nums[0] since 3 <= 3, then nums becomes [].
-3- We can not process any more queries since nums is empty.
-Hence, the answer is 2.
-It can be shown that we can't process more than 2 queries.
+输入:nums = [3,4,3], queries = [4,3,2]
+输出:2
+解释:首先,我们用 nums 的子序列 [4,3] 替换 nums。
+然后,我们可以按如下方式处理查询:
+1- 我们选择并移除 nums[0],因为 4 <= 4,那么 nums 就变成 [3]。
+2- 我们选择并移除 nums[0],因为 3 <= 3,那么 nums 就变成 []。
+3- 我们无法处理更多查询,因为 nums 为空。
+因此,答案为 2。
+可以看出,我们不能处理超过 2 个查询。
-Constraints:
+
+提示:
1 <= nums.length <= 1000
diff --git a/solution/CONTEST_README.md b/solution/CONTEST_README.md
index 83682e8e41040..c92594e4ebf50 100644
--- a/solution/CONTEST_README.md
+++ b/solution/CONTEST_README.md
@@ -1075,7 +1075,7 @@
#### 第 282 场周赛(2022-02-27 10:30, 90 分钟) 参赛人数 7164
- [2185. 统计包含给定前缀的字符串](/solution/2100-2199/2185.Counting%20Words%20With%20a%20Given%20Prefix/README.md)
-- [2186. 使两字符串互为字母异位词的最少步骤数](/solution/2100-2199/2186.Minimum%20Number%20of%20Steps%20to%20Make%20Two%20Strings%20Anagram%20II/README.md)
+- [2186. 制造字母异位词的最小步骤数 II](/solution/2100-2199/2186.Minimum%20Number%20of%20Steps%20to%20Make%20Two%20Strings%20Anagram%20II/README.md)
- [2187. 完成旅途的最少时间](/solution/2100-2199/2187.Minimum%20Time%20to%20Complete%20Trips/README.md)
- [2188. 完成比赛的最少时间](/solution/2100-2199/2188.Minimum%20Time%20to%20Finish%20the%20Race/README.md)
diff --git a/solution/README.md b/solution/README.md
index ce1a6a6771b4d..e5236b63d04fa 100644
--- a/solution/README.md
+++ b/solution/README.md
@@ -265,7 +265,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) | `数学`,`数论`,`模拟` | 简单 | |
@@ -616,7 +616,7 @@
| 0603 | [连续空余座位](/solution/0600-0699/0603.Consecutive%20Available%20Seats/README.md) | `数据库` | 简单 | 🔒 |
| 0604 | [迭代压缩字符串](/solution/0600-0699/0604.Design%20Compressed%20String%20Iterator/README.md) | `设计`,`数组`,`字符串`,`迭代器` | 简单 | 🔒 |
| 0605 | [种花问题](/solution/0600-0699/0605.Can%20Place%20Flowers/README.md) | `贪心`,`数组` | 简单 | |
-| 0606 | [根据二叉树创建字符串](/solution/0600-0699/0606.Construct%20String%20from%20Binary%20Tree/README.md) | `树`,`深度优先搜索`,`字符串`,`二叉树` | 简单 | |
+| 0606 | [根据二叉树创建字符串](/solution/0600-0699/0606.Construct%20String%20from%20Binary%20Tree/README.md) | `树`,`深度优先搜索`,`字符串`,`二叉树` | 中等 | |
| 0607 | [销售员](/solution/0600-0699/0607.Sales%20Person/README.md) | `数据库` | 简单 | |
| 0608 | [树节点](/solution/0600-0699/0608.Tree%20Node/README.md) | `数据库` | 中等 | |
| 0609 | [在系统中查找重复文件](/solution/0600-0699/0609.Find%20Duplicate%20File%20in%20System/README.md) | `数组`,`哈希表`,`字符串` | 中等 | |
@@ -879,7 +879,7 @@
| 0866 | [回文素数](/solution/0800-0899/0866.Prime%20Palindrome/README.md) | `数学` | 中等 | 第 92 场周赛 |
| 0867 | [转置矩阵](/solution/0800-0899/0867.Transpose%20Matrix/README.md) | `数组`,`矩阵`,`模拟` | 简单 | 第 92 场周赛 |
| 0868 | [二进制间距](/solution/0800-0899/0868.Binary%20Gap/README.md) | `位运算` | 简单 | 第 93 场周赛 |
-| 0869 | [重新排序得到 2 的幂](/solution/0800-0899/0869.Reordered%20Power%20of%202/README.md) | `数学`,`计数`,`枚举`,`排序` | 中等 | 第 93 场周赛 |
+| 0869 | [重新排序得到 2 的幂](/solution/0800-0899/0869.Reordered%20Power%20of%202/README.md) | `哈希表`,`数学`,`计数`,`枚举`,`排序` | 中等 | 第 93 场周赛 |
| 0870 | [优势洗牌](/solution/0800-0899/0870.Advantage%20Shuffle/README.md) | `贪心`,`数组`,`双指针`,`排序` | 中等 | 第 93 场周赛 |
| 0871 | [最低加油次数](/solution/0800-0899/0871.Minimum%20Number%20of%20Refueling%20Stops/README.md) | `贪心`,`数组`,`动态规划`,`堆(优先队列)` | 困难 | 第 93 场周赛 |
| 0872 | [叶子相似的树](/solution/0800-0899/0872.Leaf-Similar%20Trees/README.md) | `树`,`深度优先搜索`,`二叉树` | 简单 | 第 94 场周赛 |
@@ -1808,7 +1808,7 @@
| 1795 | [每个产品在不同商店的价格](/solution/1700-1799/1795.Rearrange%20Products%20Table/README.md) | `数据库` | 简单 | |
| 1796 | [字符串中第二大的数字](/solution/1700-1799/1796.Second%20Largest%20Digit%20in%20a%20String/README.md) | `哈希表`,`字符串` | 简单 | 第 48 场双周赛 |
| 1797 | [设计一个验证系统](/solution/1700-1799/1797.Design%20Authentication%20Manager/README.md) | `设计`,`哈希表` | 中等 | 第 48 场双周赛 |
-| 1798 | [你能构造出连续值的最大数目](/solution/1700-1799/1798.Maximum%20Number%20of%20Consecutive%20Values%20You%20Can%20Make/README.md) | `贪心`,`数组` | 中等 | 第 48 场双周赛 |
+| 1798 | [你能构造出连续值的最大数目](/solution/1700-1799/1798.Maximum%20Number%20of%20Consecutive%20Values%20You%20Can%20Make/README.md) | `贪心`,`数组`,`排序` | 中等 | 第 48 场双周赛 |
| 1799 | [N 次操作后的最大分数和](/solution/1700-1799/1799.Maximize%20Score%20After%20N%20Operations/README.md) | `位运算`,`数组`,`数学`,`动态规划`,`回溯`,`状态压缩`,`数论` | 困难 | 第 48 场双周赛 |
| 1800 | [最大升序子数组和](/solution/1800-1899/1800.Maximum%20Ascending%20Subarray%20Sum/README.md) | `数组` | 简单 | 第 233 场周赛 |
| 1801 | [积压订单中的订单总数](/solution/1800-1899/1801.Number%20of%20Orders%20in%20the%20Backlog/README.md) | `数组`,`模拟`,`堆(优先队列)` | 中等 | 第 233 场周赛 |
@@ -1962,7 +1962,7 @@
| 1949 | [坚定的友谊](/solution/1900-1999/1949.Strong%20Friendship/README.md) | `数据库` | 中等 | 🔒 |
| 1950 | [所有子数组最小值中的最大值](/solution/1900-1999/1950.Maximum%20of%20Minimum%20Values%20in%20All%20Subarrays/README.md) | `栈`,`数组`,`单调栈` | 中等 | 🔒 |
| 1951 | [查询具有最多共同关注者的所有两两结对组](/solution/1900-1999/1951.All%20the%20Pairs%20With%20the%20Maximum%20Number%20of%20Common%20Followers/README.md) | `数据库` | 中等 | 🔒 |
-| 1952 | [三除数](/solution/1900-1999/1952.Three%20Divisors/README.md) | `数学` | 简单 | 第 252 场周赛 |
+| 1952 | [三除数](/solution/1900-1999/1952.Three%20Divisors/README.md) | `数组`,`数学`,`枚举` | 简单 | 第 252 场周赛 |
| 1953 | [你可以工作的最大周数](/solution/1900-1999/1953.Maximum%20Number%20of%20Weeks%20for%20Which%20You%20Can%20Work/README.md) | `贪心`,`数组` | 中等 | 第 252 场周赛 |
| 1954 | [收集足够苹果的最小花园周长](/solution/1900-1999/1954.Minimum%20Garden%20Perimeter%20to%20Collect%20Enough%20Apples/README.md) | `数学`,`二分查找` | 中等 | 第 252 场周赛 |
| 1955 | [统计特殊子序列的数目](/solution/1900-1999/1955.Count%20Number%20of%20Special%20Subsequences/README.md) | `数组`,`动态规划` | 困难 | 第 252 场周赛 |
@@ -1971,7 +1971,7 @@
| 1958 | [检查操作是否合法](/solution/1900-1999/1958.Check%20if%20Move%20is%20Legal/README.md) | `数组`,`枚举`,`矩阵` | 中等 | 第 58 场双周赛 |
| 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 场周赛 |
+| 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 场周赛 |
| 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 场周赛 |
@@ -2176,12 +2176,12 @@
| 2163 | [删除元素后和的最小差值](/solution/2100-2199/2163.Minimum%20Difference%20in%20Sums%20After%20Removal%20of%20Elements/README.md) | `数组`,`动态规划`,`堆(优先队列)` | 困难 | 第 71 场双周赛 |
| 2164 | [对奇偶下标分别排序](/solution/2100-2199/2164.Sort%20Even%20and%20Odd%20Indices%20Independently/README.md) | `数组`,`排序` | 简单 | 第 279 场周赛 |
| 2165 | [重排数字的最小值](/solution/2100-2199/2165.Smallest%20Value%20of%20the%20Rearranged%20Number/README.md) | `数学`,`排序` | 中等 | 第 279 场周赛 |
-| 2166 | [设计位集](/solution/2100-2199/2166.Design%20Bitset/README.md) | `设计`,`数组`,`哈希表` | 中等 | 第 279 场周赛 |
+| 2166 | [设计位集](/solution/2100-2199/2166.Design%20Bitset/README.md) | `设计`,`数组`,`哈希表`,`字符串` | 中等 | 第 279 场周赛 |
| 2167 | [移除所有载有违禁货物车厢所需的最少时间](/solution/2100-2199/2167.Minimum%20Time%20to%20Remove%20All%20Cars%20Containing%20Illegal%20Goods/README.md) | `字符串`,`动态规划` | 困难 | 第 279 场周赛 |
| 2168 | [每个数字的频率都相同的独特子字符串的数量](/solution/2100-2199/2168.Unique%20Substrings%20With%20Equal%20Digit%20Frequency/README.md) | `哈希表`,`字符串`,`计数`,`哈希函数`,`滚动哈希` | 中等 | 🔒 |
| 2169 | [得到 0 的操作数](/solution/2100-2199/2169.Count%20Operations%20to%20Obtain%20Zero/README.md) | `数学`,`模拟` | 简单 | 第 280 场周赛 |
| 2170 | [使数组变成交替数组的最少操作数](/solution/2100-2199/2170.Minimum%20Operations%20to%20Make%20the%20Array%20Alternating/README.md) | `贪心`,`数组`,`哈希表`,`计数` | 中等 | 第 280 场周赛 |
-| 2171 | [拿出最少数目的魔法豆](/solution/2100-2199/2171.Removing%20Minimum%20Number%20of%20Magic%20Beans/README.md) | `数组`,`前缀和`,`排序` | 中等 | 第 280 场周赛 |
+| 2171 | [拿出最少数目的魔法豆](/solution/2100-2199/2171.Removing%20Minimum%20Number%20of%20Magic%20Beans/README.md) | `贪心`,`数组`,`枚举`,`前缀和`,`排序` | 中等 | 第 280 场周赛 |
| 2172 | [数组的最大与和](/solution/2100-2199/2172.Maximum%20AND%20Sum%20of%20Array/README.md) | `位运算`,`数组`,`动态规划`,`状态压缩` | 困难 | 第 280 场周赛 |
| 2173 | [最多连胜的次数](/solution/2100-2199/2173.Longest%20Winning%20Streak/README.md) | `数据库` | 困难 | 🔒 |
| 2174 | [通过翻转行或列来去除所有的 1 II](/solution/2100-2199/2174.Remove%20All%20Ones%20With%20Row%20and%20Column%20Flips%20II/README.md) | `位运算`,`广度优先搜索`,`数组`,`矩阵` | 中等 | 🔒 |
@@ -2196,7 +2196,7 @@
| 2183 | [统计可以被 K 整除的下标对数目](/solution/2100-2199/2183.Count%20Array%20Pairs%20Divisible%20by%20K/README.md) | `数组`,`数学`,`数论` | 困难 | 第 281 场周赛 |
| 2184 | [建造坚实的砖墙的方法数](/solution/2100-2199/2184.Number%20of%20Ways%20to%20Build%20Sturdy%20Brick%20Wall/README.md) | `位运算`,`数组`,`动态规划`,`状态压缩` | 中等 | 🔒 |
| 2185 | [统计包含给定前缀的字符串](/solution/2100-2199/2185.Counting%20Words%20With%20a%20Given%20Prefix/README.md) | `数组`,`字符串` | 简单 | 第 282 场周赛 |
-| 2186 | [使两字符串互为字母异位词的最少步骤数](/solution/2100-2199/2186.Minimum%20Number%20of%20Steps%20to%20Make%20Two%20Strings%20Anagram%20II/README.md) | `哈希表`,`字符串`,`计数` | 中等 | 第 282 场周赛 |
+| 2186 | [制造字母异位词的最小步骤数 II](/solution/2100-2199/2186.Minimum%20Number%20of%20Steps%20to%20Make%20Two%20Strings%20Anagram%20II/README.md) | `哈希表`,`字符串`,`计数` | 中等 | 第 282 场周赛 |
| 2187 | [完成旅途的最少时间](/solution/2100-2199/2187.Minimum%20Time%20to%20Complete%20Trips/README.md) | `数组`,`二分查找` | 中等 | 第 282 场周赛 |
| 2188 | [完成比赛的最少时间](/solution/2100-2199/2188.Minimum%20Time%20to%20Finish%20the%20Race/README.md) | `数组`,`动态规划` | 困难 | 第 282 场周赛 |
| 2189 | [建造纸牌屋的方法数](/solution/2100-2199/2189.Number%20of%20Ways%20to%20Build%20House%20of%20Cards/README.md) | `数学`,`动态规划` | 中等 | 🔒 |
@@ -2210,7 +2210,7 @@
| 2197 | [替换数组中的非互质数](/solution/2100-2199/2197.Replace%20Non-Coprime%20Numbers%20in%20Array/README.md) | `栈`,`数组`,`数学`,`数论` | 困难 | 第 283 场周赛 |
| 2198 | [单因数三元组](/solution/2100-2199/2198.Number%20of%20Single%20Divisor%20Triplets/README.md) | `数学` | 中等 | 🔒 |
| 2199 | [找到每篇文章的主题](/solution/2100-2199/2199.Finding%20the%20Topic%20of%20Each%20Post/README.md) | `数据库` | 困难 | 🔒 |
-| 2200 | [找出数组中的所有 K 近邻下标](/solution/2200-2299/2200.Find%20All%20K-Distant%20Indices%20in%20an%20Array/README.md) | `数组` | 简单 | 第 284 场周赛 |
+| 2200 | [找出数组中的所有 K 近邻下标](/solution/2200-2299/2200.Find%20All%20K-Distant%20Indices%20in%20an%20Array/README.md) | `数组`,`双指针` | 简单 | 第 284 场周赛 |
| 2201 | [统计可以提取的工件](/solution/2200-2299/2201.Count%20Artifacts%20That%20Can%20Be%20Extracted/README.md) | `数组`,`哈希表`,`模拟` | 中等 | 第 284 场周赛 |
| 2202 | [K 次操作后最大化顶端元素](/solution/2200-2299/2202.Maximize%20the%20Topmost%20Element%20After%20K%20Moves/README.md) | `贪心`,`数组` | 中等 | 第 284 场周赛 |
| 2203 | [得到要求路径的最小带权子图](/solution/2200-2299/2203.Minimum%20Weighted%20Subgraph%20With%20the%20Required%20Paths/README.md) | `图`,`最短路` | 困难 | 第 284 场周赛 |
@@ -2278,7 +2278,7 @@
| 2265 | [统计值等于子树平均值的节点数](/solution/2200-2299/2265.Count%20Nodes%20Equal%20to%20Average%20of%20Subtree/README.md) | `树`,`深度优先搜索`,`二叉树` | 中等 | 第 292 场周赛 |
| 2266 | [统计打字方案数](/solution/2200-2299/2266.Count%20Number%20of%20Texts/README.md) | `哈希表`,`数学`,`字符串`,`动态规划` | 中等 | 第 292 场周赛 |
| 2267 | [检查是否有合法括号字符串路径](/solution/2200-2299/2267.Check%20if%20There%20Is%20a%20Valid%20Parentheses%20String%20Path/README.md) | `数组`,`动态规划`,`矩阵` | 困难 | 第 292 场周赛 |
-| 2268 | [最少按键次数](/solution/2200-2299/2268.Minimum%20Number%20of%20Keypresses/README.md) | `贪心`,`数组`,`字符串`,`计数`,`排序` | 中等 | 🔒 |
+| 2268 | [最少按键次数](/solution/2200-2299/2268.Minimum%20Number%20of%20Keypresses/README.md) | `贪心`,`哈希表`,`字符串`,`计数`,`排序` | 中等 | 🔒 |
| 2269 | [找到一个数字的 K 美丽值](/solution/2200-2299/2269.Find%20the%20K-Beauty%20of%20a%20Number/README.md) | `数学`,`字符串`,`滑动窗口` | 简单 | 第 78 场双周赛 |
| 2270 | [分割数组的方案数](/solution/2200-2299/2270.Number%20of%20Ways%20to%20Split%20Array/README.md) | `数组`,`前缀和` | 中等 | 第 78 场双周赛 |
| 2271 | [毯子覆盖的最多白色砖块数](/solution/2200-2299/2271.Maximum%20White%20Tiles%20Covered%20by%20a%20Carpet/README.md) | `贪心`,`数组`,`二分查找`,`前缀和`,`排序` | 中等 | 第 78 场双周赛 |
@@ -2607,7 +2607,7 @@
| 2594 | [修车的最少时间](/solution/2500-2599/2594.Minimum%20Time%20to%20Repair%20Cars/README.md) | `数组`,`二分查找` | 中等 | 第 100 场双周赛 |
| 2595 | [奇偶位数](/solution/2500-2599/2595.Number%20of%20Even%20and%20Odd%20Bits/README.md) | `位运算` | 简单 | 第 337 场周赛 |
| 2596 | [检查骑士巡视方案](/solution/2500-2599/2596.Check%20Knight%20Tour%20Configuration/README.md) | `深度优先搜索`,`广度优先搜索`,`数组`,`矩阵`,`模拟` | 中等 | 第 337 场周赛 |
-| 2597 | [美丽子集的数目](/solution/2500-2599/2597.The%20Number%20of%20Beautiful%20Subsets/README.md) | `数组`,`动态规划`,`回溯` | 中等 | 第 337 场周赛 |
+| 2597 | [美丽子集的数目](/solution/2500-2599/2597.The%20Number%20of%20Beautiful%20Subsets/README.md) | `数组`,`动态规划`,`回溯`,`排序` | 中等 | 第 337 场周赛 |
| 2598 | [执行操作后的最大 MEX](/solution/2500-2599/2598.Smallest%20Missing%20Non-negative%20Integer%20After%20Operations/README.md) | `贪心`,`数组`,`哈希表`,`数学` | 中等 | 第 337 场周赛 |
| 2599 | [使前缀和数组非负](/solution/2500-2599/2599.Make%20the%20Prefix%20Sum%20Non-negative/README.md) | `贪心`,`数组`,`堆(优先队列)` | 中等 | 🔒 |
| 2600 | [K 件物品的最大和](/solution/2600-2699/2600.K%20Items%20With%20the%20Maximum%20Sum/README.md) | `贪心`,`数学` | 简单 | 第 338 场周赛 |
@@ -3019,16 +3019,16 @@
| 3006 | [找出数组中的美丽下标 I](/solution/3000-3099/3006.Find%20Beautiful%20Indices%20in%20the%20Given%20Array%20I/README.md) | `双指针`,`字符串`,`二分查找`,`字符串匹配`,`哈希函数`,`滚动哈希` | 中等 | 第 380 场周赛 |
| 3007 | [价值和小于等于 K 的最大数字](/solution/3000-3099/3007.Maximum%20Number%20That%20Sum%20of%20the%20Prices%20Is%20Less%20Than%20or%20Equal%20to%20K/README.md) | `位运算`,`二分查找`,`动态规划` | 中等 | 第 380 场周赛 |
| 3008 | [找出数组中的美丽下标 II](/solution/3000-3099/3008.Find%20Beautiful%20Indices%20in%20the%20Given%20Array%20II/README.md) | `双指针`,`字符串`,`二分查找`,`字符串匹配`,`哈希函数`,`滚动哈希` | 困难 | 第 380 场周赛 |
-| 3009 | [折线图上的最大交点数量](/solution/3000-3099/3009.Maximum%20Number%20of%20Intersections%20on%20the%20Chart/README.md) | | 困难 | 🔒 |
-| 3010 | [将数组分成最小总代价的子数组 I](/solution/3000-3099/3010.Divide%20an%20Array%20Into%20Subarrays%20With%20Minimum%20Cost%20I/README.md) | | 简单 | 第 122 场双周赛 |
-| 3011 | [判断一个数组是否可以变为有序](/solution/3000-3099/3011.Find%20if%20Array%20Can%20Be%20Sorted/README.md) | | 中等 | 第 122 场双周赛 |
-| 3012 | [通过操作使数组长度最小](/solution/3000-3099/3012.Minimize%20Length%20of%20Array%20Using%20Operations/README.md) | | 中等 | 第 122 场双周赛 |
-| 3013 | [将数组分成最小总代价的子数组 II](/solution/3000-3099/3013.Divide%20an%20Array%20Into%20Subarrays%20With%20Minimum%20Cost%20II/README.md) | | 困难 | 第 122 场双周赛 |
-| 3014 | [输入单词需要的最少按键次数 I](/solution/3000-3099/3014.Minimum%20Number%20of%20Pushes%20to%20Type%20Word%20I/README.md) | | 简单 | 第 381 场周赛 |
-| 3015 | [按距离统计房屋对数目 I](/solution/3000-3099/3015.Count%20the%20Number%20of%20Houses%20at%20a%20Certain%20Distance%20I/README.md) | | 中等 | 第 381 场周赛 |
-| 3016 | [输入单词需要的最少按键次数 II](/solution/3000-3099/3016.Minimum%20Number%20of%20Pushes%20to%20Type%20Word%20II/README.md) | | 中等 | 第 381 场周赛 |
-| 3017 | [按距离统计房屋对数目 II](/solution/3000-3099/3017.Count%20the%20Number%20of%20Houses%20at%20a%20Certain%20Distance%20II/README.md) | | 困难 | 第 381 场周赛 |
-| 3018 | [Maximum Number of Removal Queries That Can Be Processed I](/solution/3000-3099/3018.Maximum%20Number%20of%20Removal%20Queries%20That%20Can%20Be%20Processed%20I/README.md) | | 困难 | 🔒 |
+| 3009 | [折线图上的最大交点数量](/solution/3000-3099/3009.Maximum%20Number%20of%20Intersections%20on%20the%20Chart/README.md) | `树状数组`,`几何`,`数组`,`数学` | 困难 | 🔒 |
+| 3010 | [将数组分成最小总代价的子数组 I](/solution/3000-3099/3010.Divide%20an%20Array%20Into%20Subarrays%20With%20Minimum%20Cost%20I/README.md) | `数组`,`枚举`,`排序` | 简单 | 第 122 场双周赛 |
+| 3011 | [判断一个数组是否可以变为有序](/solution/3000-3099/3011.Find%20if%20Array%20Can%20Be%20Sorted/README.md) | `位运算`,`数组`,`排序` | 中等 | 第 122 场双周赛 |
+| 3012 | [通过操作使数组长度最小](/solution/3000-3099/3012.Minimize%20Length%20of%20Array%20Using%20Operations/README.md) | `贪心`,`数组`,`数学`,`数论` | 中等 | 第 122 场双周赛 |
+| 3013 | [将数组分成最小总代价的子数组 II](/solution/3000-3099/3013.Divide%20an%20Array%20Into%20Subarrays%20With%20Minimum%20Cost%20II/README.md) | `数组`,`哈希表`,`滑动窗口`,`堆(优先队列)` | 困难 | 第 122 场双周赛 |
+| 3014 | [输入单词需要的最少按键次数 I](/solution/3000-3099/3014.Minimum%20Number%20of%20Pushes%20to%20Type%20Word%20I/README.md) | `贪心`,`数学`,`字符串` | 简单 | 第 381 场周赛 |
+| 3015 | [按距离统计房屋对数目 I](/solution/3000-3099/3015.Count%20the%20Number%20of%20Houses%20at%20a%20Certain%20Distance%20I/README.md) | `广度优先搜索`,`图`,`前缀和` | 中等 | 第 381 场周赛 |
+| 3016 | [输入单词需要的最少按键次数 II](/solution/3000-3099/3016.Minimum%20Number%20of%20Pushes%20to%20Type%20Word%20II/README.md) | `贪心`,`哈希表`,`字符串`,`计数`,`排序` | 中等 | 第 381 场周赛 |
+| 3017 | [按距离统计房屋对数目 II](/solution/3000-3099/3017.Count%20the%20Number%20of%20Houses%20at%20a%20Certain%20Distance%20II/README.md) | `广度优先搜索`,`图`,`前缀和` | 困难 | 第 381 场周赛 |
+| 3018 | [可处理的最大删除操作数 I](/solution/3000-3099/3018.Maximum%20Number%20of%20Removal%20Queries%20That%20Can%20Be%20Processed%20I/README.md) | | 困难 | 🔒 |
| 3019 | [按键变更的次数](/solution/3000-3099/3019.Number%20of%20Changing%20Keys/README.md) | | 简单 | 第 382 场周赛 |
| 3020 | [子集中元素的最大数量](/solution/3000-3099/3020.Find%20the%20Maximum%20Number%20of%20Elements%20in%20Subset/README.md) | | 中等 | 第 382 场周赛 |
| 3021 | [Alice 和 Bob 玩鲜花游戏](/solution/3000-3099/3021.Alice%20and%20Bob%20Playing%20Flower%20Game/README.md) | | 中等 | 第 382 场周赛 |
diff --git a/solution/README_EN.md b/solution/README_EN.md
index af2359c92e64f..e817819261168 100644
--- a/solution/README_EN.md
+++ b/solution/README_EN.md
@@ -263,7 +263,7 @@ Press Control + F(or Command + F on
| 0252 | [Meeting Rooms](/solution/0200-0299/0252.Meeting%20Rooms/README_EN.md) | `Array`,`Sorting` | Easy | 🔒 |
| 0253 | [Meeting Rooms II](/solution/0200-0299/0253.Meeting%20Rooms%20II/README_EN.md) | `Greedy`,`Array`,`Two Pointers`,`Prefix Sum`,`Sorting`,`Heap (Priority Queue)` | Medium | 🔒 |
| 0254 | [Factor Combinations](/solution/0200-0299/0254.Factor%20Combinations/README_EN.md) | `Backtracking` | Medium | 🔒 |
-| 0255 | [Verify Preorder Sequence in Binary Search Tree](/solution/0200-0299/0255.Verify%20Preorder%20Sequence%20in%20Binary%20Search%20Tree/README_EN.md) | `Stack`,`Tree`,`Binary Search Tree`,`Recursion`,`Binary Tree`,`Monotonic Stack` | Medium | 🔒 |
+| 0255 | [Verify Preorder Sequence in Binary Search Tree](/solution/0200-0299/0255.Verify%20Preorder%20Sequence%20in%20Binary%20Search%20Tree/README_EN.md) | `Stack`,`Tree`,`Binary Search Tree`,`Recursion`,`Array`,`Binary Tree`,`Monotonic Stack` | Medium | 🔒 |
| 0256 | [Paint House](/solution/0200-0299/0256.Paint%20House/README_EN.md) | `Array`,`Dynamic Programming` | Medium | 🔒 |
| 0257 | [Binary Tree Paths](/solution/0200-0299/0257.Binary%20Tree%20Paths/README_EN.md) | `Tree`,`Depth-First Search`,`String`,`Backtracking`,`Binary Tree` | Easy | |
| 0258 | [Add Digits](/solution/0200-0299/0258.Add%20Digits/README_EN.md) | `Math`,`Number Theory`,`Simulation` | Easy | |
@@ -614,7 +614,7 @@ Press Control + F(or Command + F on
| 0603 | [Consecutive Available Seats](/solution/0600-0699/0603.Consecutive%20Available%20Seats/README_EN.md) | `Database` | Easy | 🔒 |
| 0604 | [Design Compressed String Iterator](/solution/0600-0699/0604.Design%20Compressed%20String%20Iterator/README_EN.md) | `Design`,`Array`,`String`,`Iterator` | Easy | 🔒 |
| 0605 | [Can Place Flowers](/solution/0600-0699/0605.Can%20Place%20Flowers/README_EN.md) | `Greedy`,`Array` | Easy | |
-| 0606 | [Construct String from Binary Tree](/solution/0600-0699/0606.Construct%20String%20from%20Binary%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`String`,`Binary Tree` | Easy | |
+| 0606 | [Construct String from Binary Tree](/solution/0600-0699/0606.Construct%20String%20from%20Binary%20Tree/README_EN.md) | `Tree`,`Depth-First Search`,`String`,`Binary Tree` | Medium | |
| 0607 | [Sales Person](/solution/0600-0699/0607.Sales%20Person/README_EN.md) | `Database` | Easy | |
| 0608 | [Tree Node](/solution/0600-0699/0608.Tree%20Node/README_EN.md) | `Database` | Medium | |
| 0609 | [Find Duplicate File in System](/solution/0600-0699/0609.Find%20Duplicate%20File%20in%20System/README_EN.md) | `Array`,`Hash Table`,`String` | Medium | |
@@ -877,7 +877,7 @@ Press Control + F(or Command + F on
| 0866 | [Prime Palindrome](/solution/0800-0899/0866.Prime%20Palindrome/README_EN.md) | `Math` | Medium | Weekly Contest 92 |
| 0867 | [Transpose Matrix](/solution/0800-0899/0867.Transpose%20Matrix/README_EN.md) | `Array`,`Matrix`,`Simulation` | Easy | Weekly Contest 92 |
| 0868 | [Binary Gap](/solution/0800-0899/0868.Binary%20Gap/README_EN.md) | `Bit Manipulation` | Easy | Weekly Contest 93 |
-| 0869 | [Reordered Power of 2](/solution/0800-0899/0869.Reordered%20Power%20of%202/README_EN.md) | `Math`,`Counting`,`Enumeration`,`Sorting` | Medium | Weekly Contest 93 |
+| 0869 | [Reordered Power of 2](/solution/0800-0899/0869.Reordered%20Power%20of%202/README_EN.md) | `Hash Table`,`Math`,`Counting`,`Enumeration`,`Sorting` | Medium | Weekly Contest 93 |
| 0870 | [Advantage Shuffle](/solution/0800-0899/0870.Advantage%20Shuffle/README_EN.md) | `Greedy`,`Array`,`Two Pointers`,`Sorting` | Medium | Weekly Contest 93 |
| 0871 | [Minimum Number of Refueling Stops](/solution/0800-0899/0871.Minimum%20Number%20of%20Refueling%20Stops/README_EN.md) | `Greedy`,`Array`,`Dynamic Programming`,`Heap (Priority Queue)` | Hard | Weekly Contest 93 |
| 0872 | [Leaf-Similar Trees](/solution/0800-0899/0872.Leaf-Similar%20Trees/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Easy | Weekly Contest 94 |
@@ -1806,7 +1806,7 @@ Press Control + F(or Command + F on
| 1795 | [Rearrange Products Table](/solution/1700-1799/1795.Rearrange%20Products%20Table/README_EN.md) | `Database` | Easy | |
| 1796 | [Second Largest Digit in a String](/solution/1700-1799/1796.Second%20Largest%20Digit%20in%20a%20String/README_EN.md) | `Hash Table`,`String` | Easy | Biweekly Contest 48 |
| 1797 | [Design Authentication Manager](/solution/1700-1799/1797.Design%20Authentication%20Manager/README_EN.md) | `Design`,`Hash Table` | Medium | Biweekly Contest 48 |
-| 1798 | [Maximum Number of Consecutive Values You Can Make](/solution/1700-1799/1798.Maximum%20Number%20of%20Consecutive%20Values%20You%20Can%20Make/README_EN.md) | `Greedy`,`Array` | Medium | Biweekly Contest 48 |
+| 1798 | [Maximum Number of Consecutive Values You Can Make](/solution/1700-1799/1798.Maximum%20Number%20of%20Consecutive%20Values%20You%20Can%20Make/README_EN.md) | `Greedy`,`Array`,`Sorting` | Medium | Biweekly Contest 48 |
| 1799 | [Maximize Score After N Operations](/solution/1700-1799/1799.Maximize%20Score%20After%20N%20Operations/README_EN.md) | `Bit Manipulation`,`Array`,`Math`,`Dynamic Programming`,`Backtracking`,`Bitmask`,`Number Theory` | Hard | Biweekly Contest 48 |
| 1800 | [Maximum Ascending Subarray Sum](/solution/1800-1899/1800.Maximum%20Ascending%20Subarray%20Sum/README_EN.md) | `Array` | Easy | Weekly Contest 233 |
| 1801 | [Number of Orders in the Backlog](/solution/1800-1899/1801.Number%20of%20Orders%20in%20the%20Backlog/README_EN.md) | `Array`,`Simulation`,`Heap (Priority Queue)` | Medium | Weekly Contest 233 |
@@ -1960,7 +1960,7 @@ Press Control + F(or Command + F on
| 1949 | [Strong Friendship](/solution/1900-1999/1949.Strong%20Friendship/README_EN.md) | `Database` | Medium | 🔒 |
| 1950 | [Maximum of Minimum Values in All Subarrays](/solution/1900-1999/1950.Maximum%20of%20Minimum%20Values%20in%20All%20Subarrays/README_EN.md) | `Stack`,`Array`,`Monotonic Stack` | Medium | 🔒 |
| 1951 | [All the Pairs With the Maximum Number of Common Followers](/solution/1900-1999/1951.All%20the%20Pairs%20With%20the%20Maximum%20Number%20of%20Common%20Followers/README_EN.md) | `Database` | Medium | 🔒 |
-| 1952 | [Three Divisors](/solution/1900-1999/1952.Three%20Divisors/README_EN.md) | `Math` | Easy | Weekly Contest 252 |
+| 1952 | [Three Divisors](/solution/1900-1999/1952.Three%20Divisors/README_EN.md) | `Array`,`Math`,`Enumeration` | Easy | Weekly Contest 252 |
| 1953 | [Maximum Number of Weeks for Which You Can Work](/solution/1900-1999/1953.Maximum%20Number%20of%20Weeks%20for%20Which%20You%20Can%20Work/README_EN.md) | `Greedy`,`Array` | Medium | Weekly Contest 252 |
| 1954 | [Minimum Garden Perimeter to Collect Enough Apples](/solution/1900-1999/1954.Minimum%20Garden%20Perimeter%20to%20Collect%20Enough%20Apples/README_EN.md) | `Math`,`Binary Search` | Medium | Weekly Contest 252 |
| 1955 | [Count Number of Special Subsequences](/solution/1900-1999/1955.Count%20Number%20of%20Special%20Subsequences/README_EN.md) | `Array`,`Dynamic Programming` | Hard | Weekly Contest 252 |
@@ -1969,7 +1969,7 @@ Press Control + F(or Command + F on
| 1958 | [Check if Move is Legal](/solution/1900-1999/1958.Check%20if%20Move%20is%20Legal/README_EN.md) | `Array`,`Enumeration`,`Matrix` | Medium | Biweekly Contest 58 |
| 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 |
+| 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`,`Two Pointers`,`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) | `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 |
@@ -2174,12 +2174,12 @@ Press Control + F(or Command + F on
| 2163 | [Minimum Difference in Sums After Removal of Elements](/solution/2100-2199/2163.Minimum%20Difference%20in%20Sums%20After%20Removal%20of%20Elements/README_EN.md) | `Array`,`Dynamic Programming`,`Heap (Priority Queue)` | Hard | Biweekly Contest 71 |
| 2164 | [Sort Even and Odd Indices Independently](/solution/2100-2199/2164.Sort%20Even%20and%20Odd%20Indices%20Independently/README_EN.md) | `Array`,`Sorting` | Easy | Weekly Contest 279 |
| 2165 | [Smallest Value of the Rearranged Number](/solution/2100-2199/2165.Smallest%20Value%20of%20the%20Rearranged%20Number/README_EN.md) | `Math`,`Sorting` | Medium | Weekly Contest 279 |
-| 2166 | [Design Bitset](/solution/2100-2199/2166.Design%20Bitset/README_EN.md) | `Design`,`Array`,`Hash Table` | Medium | Weekly Contest 279 |
+| 2166 | [Design Bitset](/solution/2100-2199/2166.Design%20Bitset/README_EN.md) | `Design`,`Array`,`Hash Table`,`String` | Medium | Weekly Contest 279 |
| 2167 | [Minimum Time to Remove All Cars Containing Illegal Goods](/solution/2100-2199/2167.Minimum%20Time%20to%20Remove%20All%20Cars%20Containing%20Illegal%20Goods/README_EN.md) | `String`,`Dynamic Programming` | Hard | Weekly Contest 279 |
| 2168 | [Unique Substrings With Equal Digit Frequency](/solution/2100-2199/2168.Unique%20Substrings%20With%20Equal%20Digit%20Frequency/README_EN.md) | `Hash Table`,`String`,`Counting`,`Hash Function`,`Rolling Hash` | Medium | 🔒 |
| 2169 | [Count Operations to Obtain Zero](/solution/2100-2199/2169.Count%20Operations%20to%20Obtain%20Zero/README_EN.md) | `Math`,`Simulation` | Easy | Weekly Contest 280 |
| 2170 | [Minimum Operations to Make the Array Alternating](/solution/2100-2199/2170.Minimum%20Operations%20to%20Make%20the%20Array%20Alternating/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Counting` | Medium | Weekly Contest 280 |
-| 2171 | [Removing Minimum Number of Magic Beans](/solution/2100-2199/2171.Removing%20Minimum%20Number%20of%20Magic%20Beans/README_EN.md) | `Array`,`Prefix Sum`,`Sorting` | Medium | Weekly Contest 280 |
+| 2171 | [Removing Minimum Number of Magic Beans](/solution/2100-2199/2171.Removing%20Minimum%20Number%20of%20Magic%20Beans/README_EN.md) | `Greedy`,`Array`,`Enumeration`,`Prefix Sum`,`Sorting` | Medium | Weekly Contest 280 |
| 2172 | [Maximum AND Sum of Array](/solution/2100-2199/2172.Maximum%20AND%20Sum%20of%20Array/README_EN.md) | `Bit Manipulation`,`Array`,`Dynamic Programming`,`Bitmask` | Hard | Weekly Contest 280 |
| 2173 | [Longest Winning Streak](/solution/2100-2199/2173.Longest%20Winning%20Streak/README_EN.md) | `Database` | Hard | 🔒 |
| 2174 | [Remove All Ones With Row and Column Flips II](/solution/2100-2199/2174.Remove%20All%20Ones%20With%20Row%20and%20Column%20Flips%20II/README_EN.md) | `Bit Manipulation`,`Breadth-First Search`,`Array`,`Matrix` | Medium | 🔒 |
@@ -2208,7 +2208,7 @@ Press Control + F(or Command + F on
| 2197 | [Replace Non-Coprime Numbers in Array](/solution/2100-2199/2197.Replace%20Non-Coprime%20Numbers%20in%20Array/README_EN.md) | `Stack`,`Array`,`Math`,`Number Theory` | Hard | Weekly Contest 283 |
| 2198 | [Number of Single Divisor Triplets](/solution/2100-2199/2198.Number%20of%20Single%20Divisor%20Triplets/README_EN.md) | `Math` | Medium | 🔒 |
| 2199 | [Finding the Topic of Each Post](/solution/2100-2199/2199.Finding%20the%20Topic%20of%20Each%20Post/README_EN.md) | `Database` | Hard | 🔒 |
-| 2200 | [Find All K-Distant Indices in an Array](/solution/2200-2299/2200.Find%20All%20K-Distant%20Indices%20in%20an%20Array/README_EN.md) | `Array` | Easy | Weekly Contest 284 |
+| 2200 | [Find All K-Distant Indices in an Array](/solution/2200-2299/2200.Find%20All%20K-Distant%20Indices%20in%20an%20Array/README_EN.md) | `Array`,`Two Pointers` | Easy | Weekly Contest 284 |
| 2201 | [Count Artifacts That Can Be Extracted](/solution/2200-2299/2201.Count%20Artifacts%20That%20Can%20Be%20Extracted/README_EN.md) | `Array`,`Hash Table`,`Simulation` | Medium | Weekly Contest 284 |
| 2202 | [Maximize the Topmost Element After K Moves](/solution/2200-2299/2202.Maximize%20the%20Topmost%20Element%20After%20K%20Moves/README_EN.md) | `Greedy`,`Array` | Medium | Weekly Contest 284 |
| 2203 | [Minimum Weighted Subgraph With the Required Paths](/solution/2200-2299/2203.Minimum%20Weighted%20Subgraph%20With%20the%20Required%20Paths/README_EN.md) | `Graph`,`Shortest Path` | Hard | Weekly Contest 284 |
@@ -2276,7 +2276,7 @@ Press Control + F(or Command + F on
| 2265 | [Count Nodes Equal to Average of Subtree](/solution/2200-2299/2265.Count%20Nodes%20Equal%20to%20Average%20of%20Subtree/README_EN.md) | `Tree`,`Depth-First Search`,`Binary Tree` | Medium | Weekly Contest 292 |
| 2266 | [Count Number of Texts](/solution/2200-2299/2266.Count%20Number%20of%20Texts/README_EN.md) | `Hash Table`,`Math`,`String`,`Dynamic Programming` | Medium | Weekly Contest 292 |
| 2267 | [Check if There Is a Valid Parentheses String Path](/solution/2200-2299/2267.Check%20if%20There%20Is%20a%20Valid%20Parentheses%20String%20Path/README_EN.md) | `Array`,`Dynamic Programming`,`Matrix` | Hard | Weekly Contest 292 |
-| 2268 | [Minimum Number of Keypresses](/solution/2200-2299/2268.Minimum%20Number%20of%20Keypresses/README_EN.md) | `Greedy`,`Array`,`String`,`Counting`,`Sorting` | Medium | 🔒 |
+| 2268 | [Minimum Number of Keypresses](/solution/2200-2299/2268.Minimum%20Number%20of%20Keypresses/README_EN.md) | `Greedy`,`Hash Table`,`String`,`Counting`,`Sorting` | Medium | 🔒 |
| 2269 | [Find the K-Beauty of a Number](/solution/2200-2299/2269.Find%20the%20K-Beauty%20of%20a%20Number/README_EN.md) | `Math`,`String`,`Sliding Window` | Easy | Biweekly Contest 78 |
| 2270 | [Number of Ways to Split Array](/solution/2200-2299/2270.Number%20of%20Ways%20to%20Split%20Array/README_EN.md) | `Array`,`Prefix Sum` | Medium | Biweekly Contest 78 |
| 2271 | [Maximum White Tiles Covered by a Carpet](/solution/2200-2299/2271.Maximum%20White%20Tiles%20Covered%20by%20a%20Carpet/README_EN.md) | `Greedy`,`Array`,`Binary Search`,`Prefix Sum`,`Sorting` | Medium | Biweekly Contest 78 |
@@ -2605,7 +2605,7 @@ Press Control + F(or Command + F on
| 2594 | [Minimum Time to Repair Cars](/solution/2500-2599/2594.Minimum%20Time%20to%20Repair%20Cars/README_EN.md) | `Array`,`Binary Search` | Medium | Biweekly Contest 100 |
| 2595 | [Number of Even and Odd Bits](/solution/2500-2599/2595.Number%20of%20Even%20and%20Odd%20Bits/README_EN.md) | `Bit Manipulation` | Easy | Weekly Contest 337 |
| 2596 | [Check Knight Tour Configuration](/solution/2500-2599/2596.Check%20Knight%20Tour%20Configuration/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Array`,`Matrix`,`Simulation` | Medium | Weekly Contest 337 |
-| 2597 | [The Number of Beautiful Subsets](/solution/2500-2599/2597.The%20Number%20of%20Beautiful%20Subsets/README_EN.md) | `Array`,`Dynamic Programming`,`Backtracking` | Medium | Weekly Contest 337 |
+| 2597 | [The Number of Beautiful Subsets](/solution/2500-2599/2597.The%20Number%20of%20Beautiful%20Subsets/README_EN.md) | `Array`,`Dynamic Programming`,`Backtracking`,`Sorting` | Medium | Weekly Contest 337 |
| 2598 | [Smallest Missing Non-negative Integer After Operations](/solution/2500-2599/2598.Smallest%20Missing%20Non-negative%20Integer%20After%20Operations/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Math` | Medium | Weekly Contest 337 |
| 2599 | [Make the Prefix Sum Non-negative](/solution/2500-2599/2599.Make%20the%20Prefix%20Sum%20Non-negative/README_EN.md) | `Greedy`,`Array`,`Heap (Priority Queue)` | Medium | 🔒 |
| 2600 | [K Items With the Maximum Sum](/solution/2600-2699/2600.K%20Items%20With%20the%20Maximum%20Sum/README_EN.md) | `Greedy`,`Math` | Easy | Weekly Contest 338 |
@@ -3017,15 +3017,15 @@ Press Control + F(or Command + F on
| 3006 | [Find Beautiful Indices in the Given Array I](/solution/3000-3099/3006.Find%20Beautiful%20Indices%20in%20the%20Given%20Array%20I/README_EN.md) | `Two Pointers`,`String`,`Binary Search`,`String Matching`,`Hash Function`,`Rolling Hash` | Medium | Weekly Contest 380 |
| 3007 | [Maximum Number That Sum of the Prices Is Less Than or Equal to K](/solution/3000-3099/3007.Maximum%20Number%20That%20Sum%20of%20the%20Prices%20Is%20Less%20Than%20or%20Equal%20to%20K/README_EN.md) | `Bit Manipulation`,`Binary Search`,`Dynamic Programming` | Medium | Weekly Contest 380 |
| 3008 | [Find Beautiful Indices in the Given Array II](/solution/3000-3099/3008.Find%20Beautiful%20Indices%20in%20the%20Given%20Array%20II/README_EN.md) | `Two Pointers`,`String`,`Binary Search`,`String Matching`,`Hash Function`,`Rolling Hash` | Hard | Weekly Contest 380 |
-| 3009 | [Maximum Number of Intersections on the Chart](/solution/3000-3099/3009.Maximum%20Number%20of%20Intersections%20on%20the%20Chart/README_EN.md) | | Hard | 🔒 |
-| 3010 | [Divide an Array Into Subarrays With Minimum Cost I](/solution/3000-3099/3010.Divide%20an%20Array%20Into%20Subarrays%20With%20Minimum%20Cost%20I/README_EN.md) | | Easy | Biweekly Contest 122 |
-| 3011 | [Find if Array Can Be Sorted](/solution/3000-3099/3011.Find%20if%20Array%20Can%20Be%20Sorted/README_EN.md) | | Medium | Biweekly Contest 122 |
-| 3012 | [Minimize Length of Array Using Operations](/solution/3000-3099/3012.Minimize%20Length%20of%20Array%20Using%20Operations/README_EN.md) | | Medium | Biweekly Contest 122 |
-| 3013 | [Divide an Array Into Subarrays With Minimum Cost II](/solution/3000-3099/3013.Divide%20an%20Array%20Into%20Subarrays%20With%20Minimum%20Cost%20II/README_EN.md) | | Hard | Biweekly Contest 122 |
-| 3014 | [Minimum Number of Pushes to Type Word I](/solution/3000-3099/3014.Minimum%20Number%20of%20Pushes%20to%20Type%20Word%20I/README_EN.md) | | Easy | Weekly Contest 381 |
-| 3015 | [Count the Number of Houses at a Certain Distance I](/solution/3000-3099/3015.Count%20the%20Number%20of%20Houses%20at%20a%20Certain%20Distance%20I/README_EN.md) | | Medium | Weekly Contest 381 |
-| 3016 | [Minimum Number of Pushes to Type Word II](/solution/3000-3099/3016.Minimum%20Number%20of%20Pushes%20to%20Type%20Word%20II/README_EN.md) | | Medium | Weekly Contest 381 |
-| 3017 | [Count the Number of Houses at a Certain Distance II](/solution/3000-3099/3017.Count%20the%20Number%20of%20Houses%20at%20a%20Certain%20Distance%20II/README_EN.md) | | Hard | Weekly Contest 381 |
+| 3009 | [Maximum Number of Intersections on the Chart](/solution/3000-3099/3009.Maximum%20Number%20of%20Intersections%20on%20the%20Chart/README_EN.md) | `Binary Indexed Tree`,`Geometry`,`Array`,`Math` | Hard | 🔒 |
+| 3010 | [Divide an Array Into Subarrays With Minimum Cost I](/solution/3000-3099/3010.Divide%20an%20Array%20Into%20Subarrays%20With%20Minimum%20Cost%20I/README_EN.md) | `Array`,`Enumeration`,`Sorting` | Easy | Biweekly Contest 122 |
+| 3011 | [Find if Array Can Be Sorted](/solution/3000-3099/3011.Find%20if%20Array%20Can%20Be%20Sorted/README_EN.md) | `Bit Manipulation`,`Array`,`Sorting` | Medium | Biweekly Contest 122 |
+| 3012 | [Minimize Length of Array Using Operations](/solution/3000-3099/3012.Minimize%20Length%20of%20Array%20Using%20Operations/README_EN.md) | `Greedy`,`Array`,`Math`,`Number Theory` | Medium | Biweekly Contest 122 |
+| 3013 | [Divide an Array Into Subarrays With Minimum Cost II](/solution/3000-3099/3013.Divide%20an%20Array%20Into%20Subarrays%20With%20Minimum%20Cost%20II/README_EN.md) | `Array`,`Hash Table`,`Sliding Window`,`Heap (Priority Queue)` | Hard | Biweekly Contest 122 |
+| 3014 | [Minimum Number of Pushes to Type Word I](/solution/3000-3099/3014.Minimum%20Number%20of%20Pushes%20to%20Type%20Word%20I/README_EN.md) | `Greedy`,`Math`,`String` | Easy | Weekly Contest 381 |
+| 3015 | [Count the Number of Houses at a Certain Distance I](/solution/3000-3099/3015.Count%20the%20Number%20of%20Houses%20at%20a%20Certain%20Distance%20I/README_EN.md) | `Breadth-First Search`,`Graph`,`Prefix Sum` | Medium | Weekly Contest 381 |
+| 3016 | [Minimum Number of Pushes to Type Word II](/solution/3000-3099/3016.Minimum%20Number%20of%20Pushes%20to%20Type%20Word%20II/README_EN.md) | `Greedy`,`Hash Table`,`String`,`Counting`,`Sorting` | Medium | Weekly Contest 381 |
+| 3017 | [Count the Number of Houses at a Certain Distance II](/solution/3000-3099/3017.Count%20the%20Number%20of%20Houses%20at%20a%20Certain%20Distance%20II/README_EN.md) | `Breadth-First Search`,`Graph`,`Prefix Sum` | Hard | Weekly Contest 381 |
| 3018 | [Maximum Number of Removal Queries That Can Be Processed I](/solution/3000-3099/3018.Maximum%20Number%20of%20Removal%20Queries%20That%20Can%20Be%20Processed%20I/README_EN.md) | | Hard | 🔒 |
| 3019 | [Number of Changing Keys](/solution/3000-3099/3019.Number%20of%20Changing%20Keys/README_EN.md) | | Easy | Weekly Contest 382 |
| 3020 | [Find the Maximum Number of Elements in Subset](/solution/3000-3099/3020.Find%20the%20Maximum%20Number%20of%20Elements%20in%20Subset/README_EN.md) | | Medium | Weekly Contest 382 |