diff --git a/solution/2900-2999/2908.Minimum Sum of Mountain Triplets I/README.md b/solution/2900-2999/2908.Minimum Sum of Mountain Triplets I/README.md
new file mode 100644
index 0000000000000..5eb5c34e33388
--- /dev/null
+++ b/solution/2900-2999/2908.Minimum Sum of Mountain Triplets I/README.md
@@ -0,0 +1,101 @@
+# [2908. 元素和最小的山形三元组 I](https://leetcode.cn/problems/minimum-sum-of-mountain-triplets-i)
+
+[English Version](/solution/2900-2999/2908.Minimum%20Sum%20of%20Mountain%20Triplets%20I/README_EN.md)
+
+## 题目描述
+
+
+
+
给你一个下标从 0 开始的整数数组 nums
。
+
+如果下标三元组 (i, j, k)
满足下述全部条件,则认为它是一个 山形三元组 :
+
+
+ i < j < k
+ nums[i] < nums[j]
且 nums[k] < nums[j]
+
+
+请你找出 nums
中 元素和最小 的山形三元组,并返回其 元素和 。如果不存在满足条件的三元组,返回 -1
。
+
+
+
+示例 1:
+
+
+输入:nums = [8,6,1,5,3]
+输出:9
+解释:三元组 (2, 3, 4) 是一个元素和等于 9 的山形三元组,因为:
+- 2 < 3 < 4
+- nums[2] < nums[3] 且 nums[4] < nums[3]
+这个三元组的元素和等于 nums[2] + nums[3] + nums[4] = 9 。可以证明不存在元素和小于 9 的山形三元组。
+
+
+示例 2:
+
+
+输入:nums = [5,4,8,7,10,2]
+输出:13
+解释:三元组 (1, 3, 5) 是一个元素和等于 13 的山形三元组,因为:
+- 1 < 3 < 5
+- nums[1] < nums[3] 且 nums[5] < nums[3]
+这个三元组的元素和等于 nums[1] + nums[3] + nums[5] = 13 。可以证明不存在元素和小于 13 的山形三元组。
+
+
+示例 3:
+
+
+输入:nums = [6,5,4,3,4,5]
+输出:-1
+解释:可以证明 nums 中不存在山形三元组。
+
+
+
+
+提示:
+
+
+ 3 <= nums.length <= 50
+ 1 <= nums[i] <= 50
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2908.Minimum Sum of Mountain Triplets I/README_EN.md b/solution/2900-2999/2908.Minimum Sum of Mountain Triplets I/README_EN.md
new file mode 100644
index 0000000000000..0f79476c69e59
--- /dev/null
+++ b/solution/2900-2999/2908.Minimum Sum of Mountain Triplets I/README_EN.md
@@ -0,0 +1,91 @@
+# [2908. Minimum Sum of Mountain Triplets I](https://leetcode.com/problems/minimum-sum-of-mountain-triplets-i)
+
+[中文文档](/solution/2900-2999/2908.Minimum%20Sum%20of%20Mountain%20Triplets%20I/README.md)
+
+## Description
+
+You are given a 0-indexed array nums
of integers.
+
+A triplet of indices (i, j, k)
is a mountain if:
+
+
+ i < j < k
+ nums[i] < nums[j]
and nums[k] < nums[j]
+
+
+Return the minimum possible sum of a mountain triplet of nums
. If no such triplet exists, return -1
.
+
+
+Example 1:
+
+
+Input: nums = [8,6,1,5,3]
+Output: 9
+Explanation: Triplet (2, 3, 4) is a mountain triplet of sum 9 since:
+- 2 < 3 < 4
+- nums[2] < nums[3] and nums[4] < nums[3]
+And the sum of this triplet is nums[2] + nums[3] + nums[4] = 9. It can be shown that there are no mountain triplets with a sum of less than 9.
+
+
+Example 2:
+
+
+Input: nums = [5,4,8,7,10,2]
+Output: 13
+Explanation: Triplet (1, 3, 5) is a mountain triplet of sum 13 since:
+- 1 < 3 < 5
+- nums[1] < nums[3] and nums[5] < nums[3]
+And the sum of this triplet is nums[1] + nums[3] + nums[5] = 13. It can be shown that there are no mountain triplets with a sum of less than 13.
+
+
+Example 3:
+
+
+Input: nums = [6,5,4,3,4,5]
+Output: -1
+Explanation: It can be shown that there are no mountain triplets in nums.
+
+
+
+Constraints:
+
+
+ 3 <= nums.length <= 50
+ 1 <= nums[i] <= 50
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2909.Minimum Sum of Mountain Triplets II/README.md b/solution/2900-2999/2909.Minimum Sum of Mountain Triplets II/README.md
new file mode 100644
index 0000000000000..0da09b72b3de1
--- /dev/null
+++ b/solution/2900-2999/2909.Minimum Sum of Mountain Triplets II/README.md
@@ -0,0 +1,101 @@
+# [2909. 元素和最小的山形三元组 II](https://leetcode.cn/problems/minimum-sum-of-mountain-triplets-ii)
+
+[English Version](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README_EN.md)
+
+## 题目描述
+
+
+
+给你一个下标从 0 开始的整数数组 nums
。
+
+如果下标三元组 (i, j, k)
满足下述全部条件,则认为它是一个 山形三元组 :
+
+
+ i < j < k
+ nums[i] < nums[j]
且 nums[k] < nums[j]
+
+
+请你找出 nums
中 元素和最小 的山形三元组,并返回其 元素和 。如果不存在满足条件的三元组,返回 -1
。
+
+
+
+示例 1:
+
+
+输入:nums = [8,6,1,5,3]
+输出:9
+解释:三元组 (2, 3, 4) 是一个元素和等于 9 的山形三元组,因为:
+- 2 < 3 < 4
+- nums[2] < nums[3] 且 nums[4] < nums[3]
+这个三元组的元素和等于 nums[2] + nums[3] + nums[4] = 9 。可以证明不存在元素和小于 9 的山形三元组。
+
+
+示例 2:
+
+
+输入:nums = [5,4,8,7,10,2]
+输出:13
+解释:三元组 (1, 3, 5) 是一个元素和等于 13 的山形三元组,因为:
+- 1 < 3 < 5
+- nums[1] < nums[3] 且 nums[5] < nums[3]
+这个三元组的元素和等于 nums[1] + nums[3] + nums[5] = 13 。可以证明不存在元素和小于 13 的山形三元组。
+
+
+示例 3:
+
+
+输入:nums = [6,5,4,3,4,5]
+输出:-1
+解释:可以证明 nums 中不存在山形三元组。
+
+
+
+
+提示:
+
+
+ 3 <= nums.length <= 105
+ 1 <= nums[i] <= 108
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2909.Minimum Sum of Mountain Triplets II/README_EN.md b/solution/2900-2999/2909.Minimum Sum of Mountain Triplets II/README_EN.md
new file mode 100644
index 0000000000000..58715a586ecd0
--- /dev/null
+++ b/solution/2900-2999/2909.Minimum Sum of Mountain Triplets II/README_EN.md
@@ -0,0 +1,91 @@
+# [2909. Minimum Sum of Mountain Triplets II](https://leetcode.com/problems/minimum-sum-of-mountain-triplets-ii)
+
+[中文文档](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README.md)
+
+## Description
+
+You are given a 0-indexed array nums
of integers.
+
+A triplet of indices (i, j, k)
is a mountain if:
+
+
+ i < j < k
+ nums[i] < nums[j]
and nums[k] < nums[j]
+
+
+Return the minimum possible sum of a mountain triplet of nums
. If no such triplet exists, return -1
.
+
+
+Example 1:
+
+
+Input: nums = [8,6,1,5,3]
+Output: 9
+Explanation: Triplet (2, 3, 4) is a mountain triplet of sum 9 since:
+- 2 < 3 < 4
+- nums[2] < nums[3] and nums[4] < nums[3]
+And the sum of this triplet is nums[2] + nums[3] + nums[4] = 9. It can be shown that there are no mountain triplets with a sum of less than 9.
+
+
+Example 2:
+
+
+Input: nums = [5,4,8,7,10,2]
+Output: 13
+Explanation: Triplet (1, 3, 5) is a mountain triplet of sum 13 since:
+- 1 < 3 < 5
+- nums[1] < nums[3] and nums[5] < nums[3]
+And the sum of this triplet is nums[1] + nums[3] + nums[5] = 13. It can be shown that there are no mountain triplets with a sum of less than 13.
+
+
+Example 3:
+
+
+Input: nums = [6,5,4,3,4,5]
+Output: -1
+Explanation: It can be shown that there are no mountain triplets in nums.
+
+
+
+Constraints:
+
+
+ 3 <= nums.length <= 105
+ 1 <= nums[i] <= 108
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2910.Minimum Number of Groups to Create a Valid Assignment/README.md b/solution/2900-2999/2910.Minimum Number of Groups to Create a Valid Assignment/README.md
new file mode 100644
index 0000000000000..cc647724e1e96
--- /dev/null
+++ b/solution/2900-2999/2910.Minimum Number of Groups to Create a Valid Assignment/README.md
@@ -0,0 +1,103 @@
+# [2910. 合法分组的最少组数](https://leetcode.cn/problems/minimum-number-of-groups-to-create-a-valid-assignment)
+
+[English Version](/solution/2900-2999/2910.Minimum%20Number%20of%20Groups%20to%20Create%20a%20Valid%20Assignment/README_EN.md)
+
+## 题目描述
+
+
+
+给你一个长度为 n
下标从 0 开始的整数数组 nums
。
+
+我们想将下标进行分组,使得 [0, n - 1]
内所有下标 i
都 恰好 被分到其中一组。
+
+如果以下条件成立,我们说这个分组方案是合法的:
+
+
+ - 对于每个组
g
,同一组内所有下标在 nums
中对应的数值都相等。
+ - 对于任意两个组
g1
和 g2
,两个组中 下标数量 的 差值不超过 1
。
+
+
+请你返回一个整数,表示得到一个合法分组方案的 最少 组数。
+
+
+
+示例 1:
+
+
+输入:nums = [3,2,3,2,3]
+输出:2
+解释:一个得到 2 个分组的方案如下,中括号内的数字都是下标:
+组 1 -> [0,2,4]
+组 2 -> [1,3]
+所有下标都只属于一个组。
+组 1 中,nums[0] == nums[2] == nums[4] ,所有下标对应的数值都相等。
+组 2 中,nums[1] == nums[3] ,所有下标对应的数值都相等。
+组 1 中下标数目为 3 ,组 2 中下标数目为 2 。
+两者之差不超过 1 。
+无法得到一个小于 2 组的答案,因为如果只有 1 组,组内所有下标对应的数值都要相等。
+所以答案为 2 。
+
+示例 2:
+
+
+输入:nums = [10,10,10,3,1,1]
+输出:4
+解释:一个得到 2 个分组的方案如下,中括号内的数字都是下标:
+组 1 -> [0]
+组 2 -> [1,2]
+组 3 -> [3]
+组 4 -> [4,5]
+分组方案满足题目要求的两个条件。
+无法得到一个小于 4 组的答案。
+所以答案为 4 。
+
+
+
+提示:
+
+
+ 1 <= nums.length <= 105
+ 1 <= nums[i] <= 109
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2910.Minimum Number of Groups to Create a Valid Assignment/README_EN.md b/solution/2900-2999/2910.Minimum Number of Groups to Create a Valid Assignment/README_EN.md
new file mode 100644
index 0000000000000..1775f4087870f
--- /dev/null
+++ b/solution/2900-2999/2910.Minimum Number of Groups to Create a Valid Assignment/README_EN.md
@@ -0,0 +1,93 @@
+# [2910. Minimum Number of Groups to Create a Valid Assignment](https://leetcode.com/problems/minimum-number-of-groups-to-create-a-valid-assignment)
+
+[中文文档](/solution/2900-2999/2910.Minimum%20Number%20of%20Groups%20to%20Create%20a%20Valid%20Assignment/README.md)
+
+## Description
+
+You are given a 0-indexed integer array nums
of length n
.
+
+We want to group the indices so for each index i
in the range [0, n - 1]
, it is assigned to exactly one group.
+
+A group assignment is valid if the following conditions hold:
+
+
+ - For every group
g
, all indices i
assigned to group g
have the same value in nums
.
+ - For any two groups
g1
and g2
, the difference between the number of indices assigned to g1
and g2
should not exceed 1
.
+
+
+Return an integer denoting the minimum number of groups needed to create a valid group assignment.
+
+
+Example 1:
+
+
+Input: nums = [3,2,3,2,3]
+Output: 2
+Explanation: One way the indices can be assigned to 2 groups is as follows, where the values in square brackets are indices:
+group 1 -> [0,2,4]
+group 2 -> [1,3]
+All indices are assigned to one group.
+In group 1, nums[0] == nums[2] == nums[4], so all indices have the same value.
+In group 2, nums[1] == nums[3], so all indices have the same value.
+The number of indices assigned to group 1 is 3, and the number of indices assigned to group 2 is 2.
+Their difference doesn't exceed 1.
+It is not possible to use fewer than 2 groups because, in order to use just 1 group, all indices assigned to that group must have the same value.
+Hence, the answer is 2.
+
+Example 2:
+
+
+Input: nums = [10,10,10,3,1,1]
+Output: 4
+Explanation: One way the indices can be assigned to 4 groups is as follows, where the values in square brackets are indices:
+group 1 -> [0]
+group 2 -> [1,2]
+group 3 -> [3]
+group 4 -> [4,5]
+The group assignment above satisfies both conditions.
+It can be shown that it is not possible to create a valid assignment using fewer than 4 groups.
+Hence, the answer is 4.
+
+
+Constraints:
+
+
+ 1 <= nums.length <= 105
+ 1 <= nums[i] <= 109
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2911.Minimum Changes to Make K Semi-palindromes/README.md b/solution/2900-2999/2911.Minimum Changes to Make K Semi-palindromes/README.md
new file mode 100644
index 0000000000000..95a4c68062ce6
--- /dev/null
+++ b/solution/2900-2999/2911.Minimum Changes to Make K Semi-palindromes/README.md
@@ -0,0 +1,98 @@
+# [2911. 得到 K 个半回文串的最少修改次数](https://leetcode.cn/problems/minimum-changes-to-make-k-semi-palindromes)
+
+[English Version](/solution/2900-2999/2911.Minimum%20Changes%20to%20Make%20K%20Semi-palindromes/README_EN.md)
+
+## 题目描述
+
+
+
+给你一个字符串 s
和一个整数 k
,请你将 s
分成 k
个 子字符串 ,使得每个 子字符串 变成 半回文串 需要修改的字符数目最少。
+
+请你返回一个整数,表示需要修改的 最少 字符数目。
+
+注意:
+
+
+ - 如果一个字符串从左往右和从右往左读是一样的,那么它是一个 回文串 。
+ - 如果长度为
len
的字符串存在一个满足 1 <= d < len
的正整数 d
,len % d == 0
成立且所有对 d
做除法余数相同的下标对应的字符连起来得到的字符串都是 回文串 ,那么我们说这个字符串是 半回文串 。比方说 "aa"
,"aba"
,"adbgad"
和 "abab"
都是 半回文串 ,而 "a"
,"ab"
和 "abca"
不是。
+ - 子字符串 指的是一个字符串中一段连续的字符序列。
+
+
+
+
+示例 1:
+
+
+输入:s = "abcac", k = 2
+输出:1
+解释:我们可以将 s 分成子字符串 "ab" 和 "cac" 。子字符串 "cac" 已经是半回文串。如果我们将 "ab" 变成 "aa" ,它也会变成一个 d = 1 的半回文串。
+该方案是将 s 分成 2 个子字符串的前提下,得到 2 个半回文子字符串需要的最少修改次数。所以答案为 1 。
+
+示例 2:
+
+
+输入:s = "abcdef", k = 2
+输出:2
+解释:我们可以将 s 分成子字符串 "abc" 和 "def" 。子字符串 "abc" 和 "def" 都需要修改一个字符得到半回文串,所以我们总共需要 2 次字符修改使所有子字符串变成半回文串。
+该方案是将 s 分成 2 个子字符串的前提下,得到 2 个半回文子字符串需要的最少修改次数。所以答案为 2 。
+
+示例 3:
+
+
+输入:s = "aabbaa", k = 3
+输出:0
+解释:我们可以将 s 分成子字符串 "aa" ,"bb" 和 "aa" 。
+字符串 "aa" 和 "bb" 都已经是半回文串了。所以答案为 0 。
+
+
+
+
+提示:
+
+
+ 2 <= s.length <= 200
+ 1 <= k <= s.length / 2
+ s
只包含小写英文字母。
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2911.Minimum Changes to Make K Semi-palindromes/README_EN.md b/solution/2900-2999/2911.Minimum Changes to Make K Semi-palindromes/README_EN.md
new file mode 100644
index 0000000000000..c5f37e541cec8
--- /dev/null
+++ b/solution/2900-2999/2911.Minimum Changes to Make K Semi-palindromes/README_EN.md
@@ -0,0 +1,88 @@
+# [2911. Minimum Changes to Make K Semi-palindromes](https://leetcode.com/problems/minimum-changes-to-make-k-semi-palindromes)
+
+[中文文档](/solution/2900-2999/2911.Minimum%20Changes%20to%20Make%20K%20Semi-palindromes/README.md)
+
+## Description
+
+Given a string s
and an integer k
, partition s
into k
substrings such that the sum of the number of letter changes required to turn each substring into a semi-palindrome is minimized.
+
+Return an integer denoting the minimum number of letter changes required.
+
+Notes
+
+
+ - A string is a palindrome if it can be read the same way from left to right and right to left.
+ - A string with a length of
len
is considered a semi-palindrome if there exists a positive integer d
such that 1 <= d < len
and len % d == 0
, and if we take indices that have the same modulo by d
, they form a palindrome. For example, "aa"
, "aba"
, "adbgad"
, and, "abab"
are semi-palindrome and "a"
, "ab"
, and, "abca"
are not.
+ - A substring is a contiguous sequence of characters within a string.
+
+
+
+Example 1:
+
+
+Input: s = "abcac", k = 2
+Output: 1
+Explanation: We can divide s into substrings "ab" and "cac". The string "cac" is already a semi-palindrome. If we change "ab" to "aa", it becomes a semi-palindrome with d = 1.
+It can be shown that there is no way to divide the string "abcac" into two semi-palindrome substrings. Therefore, the answer would be at least 1.
+
+Example 2:
+
+
+Input: s = "abcdef", k = 2
+Output: 2
+Explanation: We can divide it into substrings "abc" and "def". Each of the substrings "abc" and "def" requires one change to become a semi-palindrome, so we need 2 changes in total to make all substrings semi-palindrome.
+It can be shown that we cannot divide the given string into two substrings in a way that it would require less than 2 changes.
+
+Example 3:
+
+
+Input: s = "aabbaa", k = 3
+Output: 0
+Explanation: We can divide it into substrings "aa", "bb" and "aa".
+The strings "aa" and "bb" are already semi-palindromes. Thus, the answer is zero.
+
+
+
+Constraints:
+
+
+ 2 <= s.length <= 200
+ 1 <= k <= s.length / 2
+ s
consists only of lowercase English letters.
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/CONTEST_README.md b/solution/CONTEST_README.md
index c11bfdbf6b74e..992d7230dd9a0 100644
--- a/solution/CONTEST_README.md
+++ b/solution/CONTEST_README.md
@@ -22,6 +22,13 @@
## 往期竞赛
+#### 第 368 场周赛(2023-10-22 10:30, 90 分钟) 参赛人数 5002
+
+- [2908. 元素和最小的山形三元组 I](/solution/2900-2999/2908.Minimum%20Sum%20of%20Mountain%20Triplets%20I/README.md)
+- [2909. 元素和最小的山形三元组 II](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README.md)
+- [2910. 合法分组的最少组数](/solution/2900-2999/2910.Minimum%20Number%20of%20Groups%20to%20Create%20a%20Valid%20Assignment/README.md)
+- [2911. 得到 K 个半回文串的最少修改次数](/solution/2900-2999/2911.Minimum%20Changes%20to%20Make%20K%20Semi-palindromes/README.md)
+
#### 第 367 场周赛(2023-10-15 10:30, 90 分钟) 参赛人数 4317
- [2903. 找出满足差值条件的下标 I](/solution/2900-2999/2903.Find%20Indices%20With%20Index%20and%20Value%20Difference%20I/README.md)
diff --git a/solution/CONTEST_README_EN.md b/solution/CONTEST_README_EN.md
index 30dab81067d98..6274df1765a81 100644
--- a/solution/CONTEST_README_EN.md
+++ b/solution/CONTEST_README_EN.md
@@ -25,6 +25,13 @@ Get your rating changes right after the completion of LeetCode contests, https:/
## Past Contests
+#### Weekly Contest 368
+
+- [2908. Minimum Sum of Mountain Triplets I](/solution/2900-2999/2908.Minimum%20Sum%20of%20Mountain%20Triplets%20I/README_EN.md)
+- [2909. Minimum Sum of Mountain Triplets II](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README_EN.md)
+- [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)
+- [2911. Minimum Changes to Make K Semi-palindromes](/solution/2900-2999/2911.Minimum%20Changes%20to%20Make%20K%20Semi-palindromes/README_EN.md)
+
#### Weekly Contest 367
- [2903. Find Indices With Index and Value Difference I](/solution/2900-2999/2903.Find%20Indices%20With%20Index%20and%20Value%20Difference%20I/README_EN.md)
diff --git a/solution/DATABASE_README.md b/solution/DATABASE_README.md
index 87a73ec15b617..3247d9542cfad 100644
--- a/solution/DATABASE_README.md
+++ b/solution/DATABASE_README.md
@@ -245,7 +245,7 @@
| 2837 | [总旅行距离](/solution/2800-2899/2837.Total%20Traveled%20Distance/README.md) | `数据库` | 简单 | 🔒 |
| 2853 | [最高薪水差异](/solution/2800-2899/2853.Highest%20Salaries%20Difference/README.md) | `数据库` | 简单 | 🔒 |
| 2854 | [滚动平均步数](/solution/2800-2899/2854.Rolling%20Average%20Steps/README.md) | `数据库` | 中等 | 🔒 |
-| 2893 | [计算每个区间内的订单](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md) | `数据库` | 中等 | 🔒 |
+| 2893 | [Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md) | | 中等 | 🔒 |
## 版权
diff --git a/solution/DATABASE_README_EN.md b/solution/DATABASE_README_EN.md
index 9ea0768a5145f..47be2a14f8813 100644
--- a/solution/DATABASE_README_EN.md
+++ b/solution/DATABASE_README_EN.md
@@ -243,7 +243,7 @@ Press Control + F(or Command + F on
| 2837 | [Total Traveled Distance](/solution/2800-2899/2837.Total%20Traveled%20Distance/README_EN.md) | `Database` | Easy | 🔒 |
| 2853 | [Highest Salaries Difference](/solution/2800-2899/2853.Highest%20Salaries%20Difference/README_EN.md) | `Database` | Easy | 🔒 |
| 2854 | [Rolling Average Steps](/solution/2800-2899/2854.Rolling%20Average%20Steps/README_EN.md) | `Database` | Medium | 🔒 |
-| 2893 | [Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README_EN.md) | `Database` | Medium | 🔒 |
+| 2893 | [Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README_EN.md) | | Medium | 🔒 |
## Copyright
diff --git a/solution/JAVASCRIPT_README.md b/solution/JAVASCRIPT_README.md
index 37b2eb93a6701..f8d07d4d6c519 100644
--- a/solution/JAVASCRIPT_README.md
+++ b/solution/JAVASCRIPT_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 84361d3bc3554..f52785b99c9d9 100644
--- a/solution/JAVASCRIPT_README_EN.md
+++ b/solution/JAVASCRIPT_README_EN.md
@@ -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) | | Easy | 🔒 |
+| 2797 | [Partial Function with Placeholders](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md) | | Medium | 🔒 |
| 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 4b6263cd92672..8ce3237283b1d 100644
--- a/solution/README.md
+++ b/solution/README.md
@@ -287,14 +287,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) | `位运算`,`数组`,`双指针`,`二分查找` | 中等 | |
@@ -358,12 +358,12 @@
| 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) | `数组`,`哈希表`,`数学` | 中等 | 🔒 |
@@ -500,7 +500,7 @@
| 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) | `深度优先搜索`,`广度优先搜索`,`数组`,`矩阵` | 中等 | 🔒 |
+| 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) | `树状数组`,`线段树`,`数组`,`二分查找`,`分治`,`有序集合`,`归并排序` | 困难 | |
@@ -509,13 +509,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) | `树`,`深度优先搜索`,`哈希表`,`二叉树` | 中等 | |
@@ -676,7 +676,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) | `树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 中等 | |
@@ -804,7 +804,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) | `深度优先搜索`,`广度优先搜索`,`图`,`回溯` | 中等 | |
@@ -2807,7 +2807,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 场周赛 |
@@ -2902,22 +2902,26 @@
| 2889 | [数据重塑:透视](/solution/2800-2899/2889.Reshape%20Data%20Pivot/README.md) | | 简单 | |
| 2890 | [重塑数据:融合](/solution/2800-2899/2890.Reshape%20Data%20Melt/README.md) | | 简单 | |
| 2891 | [方法链](/solution/2800-2899/2891.Method%20Chaining/README.md) | | 简单 | |
-| 2892 | [将相邻元素相乘后得到最小化数组](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README.md) | `贪心`,`数组`,`动态规划` | 中等 | 🔒 |
-| 2893 | [计算每个区间内的订单](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md) | `数据库` | 中等 | 🔒 |
-| 2894 | [分类求和并作差](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README.md) | `数学` | 简单 | 第 366 场周赛 |
-| 2895 | [最小处理时间](/solution/2800-2899/2895.Minimum%20Processing%20Time/README.md) | `贪心`,`数组`,`排序` | 中等 | 第 366 场周赛 |
-| 2896 | [执行操作使两个字符串相等](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README.md) | `字符串`,`动态规划` | 中等 | 第 366 场周赛 |
-| 2897 | [对数组执行操作使平方和最大](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README.md) | `贪心`,`位运算`,`数组`,`哈希表` | 困难 | 第 366 场周赛 |
-| 2898 | [最大线性股票得分](/solution/2800-2899/2898.Maximum%20Linear%20Stock%20Score/README.md) | `数组`,`哈希表` | 中等 | 🔒 |
-| 2899 | [上一个遍历的整数](/solution/2800-2899/2899.Last%20Visited%20Integers/README.md) | `数组`,`字符串`,`模拟` | 简单 | 第 115 场双周赛 |
-| 2900 | [最长相邻不相等子序列 I](/solution/2900-2999/2900.Longest%20Unequal%20Adjacent%20Groups%20Subsequence%20I/README.md) | `贪心`,`数组`,`字符串`,`动态规划` | 中等 | 第 115 场双周赛 |
-| 2901 | [最长相邻不相等子序列 II](/solution/2900-2999/2901.Longest%20Unequal%20Adjacent%20Groups%20Subsequence%20II/README.md) | `数组`,`字符串`,`动态规划` | 中等 | 第 115 场双周赛 |
-| 2902 | [和带限制的子多重集合的数目](/solution/2900-2999/2902.Count%20of%20Sub-Multisets%20With%20Bounded%20Sum/README.md) | `数组`,`哈希表`,`动态规划`,`滑动窗口` | 困难 | 第 115 场双周赛 |
-| 2903 | [找出满足差值条件的下标 I](/solution/2900-2999/2903.Find%20Indices%20With%20Index%20and%20Value%20Difference%20I/README.md) | `数组` | 简单 | 第 367 场周赛 |
-| 2904 | [最短且字典序最小的美丽子字符串](/solution/2900-2999/2904.Shortest%20and%20Lexicographically%20Smallest%20Beautiful%20String/README.md) | `字符串`,`滑动窗口` | 中等 | 第 367 场周赛 |
-| 2905 | [找出满足差值条件的下标 II](/solution/2900-2999/2905.Find%20Indices%20With%20Index%20and%20Value%20Difference%20II/README.md) | `数组` | 中等 | 第 367 场周赛 |
-| 2906 | [构造乘积矩阵](/solution/2900-2999/2906.Construct%20Product%20Matrix/README.md) | `数组`,`矩阵`,`前缀和` | 中等 | 第 367 场周赛 |
+| 2892 | [将相邻元素相乘后得到最小化数组](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README.md) | | 中等 | 🔒 |
+| 2893 | [Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md) | | 中等 | 🔒 |
+| 2894 | [分类求和并作差](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README.md) | | 简单 | 第 366 场周赛 |
+| 2895 | [最小处理时间](/solution/2800-2899/2895.Minimum%20Processing%20Time/README.md) | | 中等 | 第 366 场周赛 |
+| 2896 | [执行操作使两个字符串相等](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README.md) | | 中等 | 第 366 场周赛 |
+| 2897 | [对数组执行操作使平方和最大](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README.md) | | 困难 | 第 366 场周赛 |
+| 2898 | [Maximum Linear Stock Score](/solution/2800-2899/2898.Maximum%20Linear%20Stock%20Score/README.md) | | 中等 | 🔒 |
+| 2899 | [上一个遍历的整数](/solution/2800-2899/2899.Last%20Visited%20Integers/README.md) | | 简单 | 第 115 场双周赛 |
+| 2900 | [最长相邻不相等子序列 I](/solution/2900-2999/2900.Longest%20Unequal%20Adjacent%20Groups%20Subsequence%20I/README.md) | | 中等 | 第 115 场双周赛 |
+| 2901 | [最长相邻不相等子序列 II](/solution/2900-2999/2901.Longest%20Unequal%20Adjacent%20Groups%20Subsequence%20II/README.md) | | 中等 | 第 115 场双周赛 |
+| 2902 | [和带限制的子多重集合的数目](/solution/2900-2999/2902.Count%20of%20Sub-Multisets%20With%20Bounded%20Sum/README.md) | | 困难 | 第 115 场双周赛 |
+| 2903 | [找出满足差值条件的下标 I](/solution/2900-2999/2903.Find%20Indices%20With%20Index%20and%20Value%20Difference%20I/README.md) | | 简单 | 第 367 场周赛 |
+| 2904 | [最短且字典序最小的美丽子字符串](/solution/2900-2999/2904.Shortest%20and%20Lexicographically%20Smallest%20Beautiful%20String/README.md) | | 中等 | 第 367 场周赛 |
+| 2905 | [找出满足差值条件的下标 II](/solution/2900-2999/2905.Find%20Indices%20With%20Index%20and%20Value%20Difference%20II/README.md) | | 中等 | 第 367 场周赛 |
+| 2906 | [构造乘积矩阵](/solution/2900-2999/2906.Construct%20Product%20Matrix/README.md) | | 中等 | 第 367 场周赛 |
| 2907 | [Maximum Profitable Triplets With Increasing Prices I](/solution/2900-2999/2907.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20I/README.md) | | 中等 | 🔒 |
+| 2908 | [元素和最小的山形三元组 I](/solution/2900-2999/2908.Minimum%20Sum%20of%20Mountain%20Triplets%20I/README.md) | | 简单 | 第 368 场周赛 |
+| 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 场周赛 |
## 版权
diff --git a/solution/README_EN.md b/solution/README_EN.md
index 7185b6772f123..52c03fb121715 100644
--- a/solution/README_EN.md
+++ b/solution/README_EN.md
@@ -285,7 +285,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) | `Graph`,`Two Pointers`,`Interactive` | Medium | 🔒 |
+| 0277 | [Find the Celebrity](/solution/0200-0299/0277.Find%20the%20Celebrity/README_EN.md) | `Greedy`,`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,12 +356,12 @@ 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`,`Simulation` | Medium | 🔒 |
+| 0348 | [Design Tic-Tac-Toe](/solution/0300-0399/0348.Design%20Tic-Tac-Toe/README_EN.md) | `Design`,`Array`,`Hash Table`,`Matrix` | 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`,`Hash Table`,`Simulation` | Medium | 🔒 |
+| 0353 | [Design Snake Game](/solution/0300-0399/0353.Design%20Snake%20Game/README_EN.md) | `Design`,`Queue`,`Array`,`Matrix` | 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 | 🔒 |
@@ -498,7 +498,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`,`Array`,`Matrix` | Medium | 🔒 |
+| 0490 | [The Maze](/solution/0400-0499/0490.The%20Maze/README_EN.md) | `Depth-First Search`,`Breadth-First Search`,`Graph` | 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 +507,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`,`Array`,`String`,`Matrix`,`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`,`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`,`Array`,`Matrix`,`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`,`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 | |
@@ -674,7 +674,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`,`Hash Table`,`Binary Tree` | Medium | 🔒 |
+| 0666 | [Path Sum IV](/solution/0600-0699/0666.Path%20Sum%20IV/README_EN.md) | `Tree`,`Depth-First Search`,`Array`,`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 | |
@@ -802,7 +802,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`,`Matrix` | Medium | |
+| 0794 | [Valid Tic-Tac-Toe State](/solution/0700-0799/0794.Valid%20Tic-Tac-Toe%20State/README_EN.md) | `Array`,`String` | 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 | |
@@ -2805,7 +2805,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) | | Easy | 🔒 |
+| 2797 | [Partial Function with Placeholders](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md) | | Medium | 🔒 |
| 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 |
@@ -2900,22 +2900,26 @@ Press Control + F(or Command + F on
| 2889 | [Reshape Data Pivot](/solution/2800-2899/2889.Reshape%20Data%20Pivot/README_EN.md) | | Easy | |
| 2890 | [Reshape Data Melt](/solution/2800-2899/2890.Reshape%20Data%20Melt/README_EN.md) | | Easy | |
| 2891 | [Method Chaining](/solution/2800-2899/2891.Method%20Chaining/README_EN.md) | | Easy | |
-| 2892 | [Minimizing Array After Replacing Pairs With Their Product](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README_EN.md) | `Greedy`,`Array`,`Dynamic Programming` | Medium | 🔒 |
-| 2893 | [Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README_EN.md) | `Database` | Medium | 🔒 |
-| 2894 | [Divisible and Non-divisible Sums Difference](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README_EN.md) | `Math` | Easy | Weekly Contest 366 |
-| 2895 | [Minimum Processing Time](/solution/2800-2899/2895.Minimum%20Processing%20Time/README_EN.md) | `Greedy`,`Array`,`Sorting` | Medium | Weekly Contest 366 |
-| 2896 | [Apply Operations to Make Two Strings Equal](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README_EN.md) | `String`,`Dynamic Programming` | Medium | Weekly Contest 366 |
-| 2897 | [Apply Operations on Array to Maximize Sum of Squares](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README_EN.md) | `Greedy`,`Bit Manipulation`,`Array`,`Hash Table` | Hard | Weekly Contest 366 |
-| 2898 | [Maximum Linear Stock Score](/solution/2800-2899/2898.Maximum%20Linear%20Stock%20Score/README_EN.md) | `Array`,`Hash Table` | Medium | 🔒 |
-| 2899 | [Last Visited Integers](/solution/2800-2899/2899.Last%20Visited%20Integers/README_EN.md) | `Array`,`String`,`Simulation` | Easy | Biweekly Contest 115 |
-| 2900 | [Longest Unequal Adjacent Groups Subsequence I](/solution/2900-2999/2900.Longest%20Unequal%20Adjacent%20Groups%20Subsequence%20I/README_EN.md) | `Greedy`,`Array`,`String`,`Dynamic Programming` | Medium | Biweekly Contest 115 |
-| 2901 | [Longest Unequal Adjacent Groups Subsequence II](/solution/2900-2999/2901.Longest%20Unequal%20Adjacent%20Groups%20Subsequence%20II/README_EN.md) | `Array`,`String`,`Dynamic Programming` | Medium | Biweekly Contest 115 |
-| 2902 | [Count of Sub-Multisets With Bounded Sum](/solution/2900-2999/2902.Count%20of%20Sub-Multisets%20With%20Bounded%20Sum/README_EN.md) | `Array`,`Hash Table`,`Dynamic Programming`,`Sliding Window` | Hard | Biweekly Contest 115 |
-| 2903 | [Find Indices With Index and Value Difference I](/solution/2900-2999/2903.Find%20Indices%20With%20Index%20and%20Value%20Difference%20I/README_EN.md) | `Array` | Easy | Weekly Contest 367 |
-| 2904 | [Shortest and Lexicographically Smallest Beautiful String](/solution/2900-2999/2904.Shortest%20and%20Lexicographically%20Smallest%20Beautiful%20String/README_EN.md) | `String`,`Sliding Window` | Medium | Weekly Contest 367 |
-| 2905 | [Find Indices With Index and Value Difference II](/solution/2900-2999/2905.Find%20Indices%20With%20Index%20and%20Value%20Difference%20II/README_EN.md) | `Array` | Medium | Weekly Contest 367 |
-| 2906 | [Construct Product Matrix](/solution/2900-2999/2906.Construct%20Product%20Matrix/README_EN.md) | `Array`,`Matrix`,`Prefix Sum` | Medium | Weekly Contest 367 |
+| 2892 | [Minimizing Array After Replacing Pairs With Their Product](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README_EN.md) | | Medium | 🔒 |
+| 2893 | [Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README_EN.md) | | Medium | 🔒 |
+| 2894 | [Divisible and Non-divisible Sums Difference](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README_EN.md) | | Easy | Weekly Contest 366 |
+| 2895 | [Minimum Processing Time](/solution/2800-2899/2895.Minimum%20Processing%20Time/README_EN.md) | | Medium | Weekly Contest 366 |
+| 2896 | [Apply Operations to Make Two Strings Equal](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README_EN.md) | | Medium | Weekly Contest 366 |
+| 2897 | [Apply Operations on Array to Maximize Sum of Squares](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README_EN.md) | | Hard | Weekly Contest 366 |
+| 2898 | [Maximum Linear Stock Score](/solution/2800-2899/2898.Maximum%20Linear%20Stock%20Score/README_EN.md) | | Medium | 🔒 |
+| 2899 | [Last Visited Integers](/solution/2800-2899/2899.Last%20Visited%20Integers/README_EN.md) | | Easy | Biweekly Contest 115 |
+| 2900 | [Longest Unequal Adjacent Groups Subsequence I](/solution/2900-2999/2900.Longest%20Unequal%20Adjacent%20Groups%20Subsequence%20I/README_EN.md) | | Medium | Biweekly Contest 115 |
+| 2901 | [Longest Unequal Adjacent Groups Subsequence II](/solution/2900-2999/2901.Longest%20Unequal%20Adjacent%20Groups%20Subsequence%20II/README_EN.md) | | Medium | Biweekly Contest 115 |
+| 2902 | [Count of Sub-Multisets With Bounded Sum](/solution/2900-2999/2902.Count%20of%20Sub-Multisets%20With%20Bounded%20Sum/README_EN.md) | | Hard | Biweekly Contest 115 |
+| 2903 | [Find Indices With Index and Value Difference I](/solution/2900-2999/2903.Find%20Indices%20With%20Index%20and%20Value%20Difference%20I/README_EN.md) | | Easy | Weekly Contest 367 |
+| 2904 | [Shortest and Lexicographically Smallest Beautiful String](/solution/2900-2999/2904.Shortest%20and%20Lexicographically%20Smallest%20Beautiful%20String/README_EN.md) | | Medium | Weekly Contest 367 |
+| 2905 | [Find Indices With Index and Value Difference II](/solution/2900-2999/2905.Find%20Indices%20With%20Index%20and%20Value%20Difference%20II/README_EN.md) | | Medium | Weekly Contest 367 |
+| 2906 | [Construct Product Matrix](/solution/2900-2999/2906.Construct%20Product%20Matrix/README_EN.md) | | Medium | Weekly Contest 367 |
| 2907 | [Maximum Profitable Triplets With Increasing Prices I](/solution/2900-2999/2907.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20I/README_EN.md) | | Medium | 🔒 |
+| 2908 | [Minimum Sum of Mountain Triplets I](/solution/2900-2999/2908.Minimum%20Sum%20of%20Mountain%20Triplets%20I/README_EN.md) | | Easy | Weekly Contest 368 |
+| 2909 | [Minimum Sum of Mountain Triplets II](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README_EN.md) | | 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) | | 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) | | Hard | Weekly Contest 368 |
## Copyright
diff --git a/solution/database-summary.md b/solution/database-summary.md
index b3f657b752972..f033eaa9fa179 100644
--- a/solution/database-summary.md
+++ b/solution/database-summary.md
@@ -235,4 +235,4 @@
- [2837.总旅行距离](/database-solution/2800-2899/2837.Total%20Traveled%20Distance/README.md)
- [2853.最高薪水差异](/database-solution/2800-2899/2853.Highest%20Salaries%20Difference/README.md)
- [2854.滚动平均步数](/database-solution/2800-2899/2854.Rolling%20Average%20Steps/README.md)
- - [2893.计算每个区间内的订单](/database-solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md)
+ - [2893.Calculate Orders Within Each Interval](/database-solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md)
diff --git a/solution/summary.md b/solution/summary.md
index 976db981c79e2..d238dc7c8c93f 100644
--- a/solution/summary.md
+++ b/solution/summary.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)
@@ -2948,12 +2948,12 @@
- [2890.重塑数据:融合](/solution/2800-2899/2890.Reshape%20Data%20Melt/README.md)
- [2891.方法链](/solution/2800-2899/2891.Method%20Chaining/README.md)
- [2892.将相邻元素相乘后得到最小化数组](/solution/2800-2899/2892.Minimizing%20Array%20After%20Replacing%20Pairs%20With%20Their%20Product/README.md)
- - [2893.计算每个区间内的订单](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md)
+ - [2893.Calculate Orders Within Each Interval](/solution/2800-2899/2893.Calculate%20Orders%20Within%20Each%20Interval/README.md)
- [2894.分类求和并作差](/solution/2800-2899/2894.Divisible%20and%20Non-divisible%20Sums%20Difference/README.md)
- [2895.最小处理时间](/solution/2800-2899/2895.Minimum%20Processing%20Time/README.md)
- [2896.执行操作使两个字符串相等](/solution/2800-2899/2896.Apply%20Operations%20to%20Make%20Two%20Strings%20Equal/README.md)
- [2897.对数组执行操作使平方和最大](/solution/2800-2899/2897.Apply%20Operations%20on%20Array%20to%20Maximize%20Sum%20of%20Squares/README.md)
- - [2898.最大线性股票得分](/solution/2800-2899/2898.Maximum%20Linear%20Stock%20Score/README.md)
+ - [2898.Maximum Linear Stock Score](/solution/2800-2899/2898.Maximum%20Linear%20Stock%20Score/README.md)
- [2899.上一个遍历的整数](/solution/2800-2899/2899.Last%20Visited%20Integers/README.md)
- 2900-2999
@@ -2965,3 +2965,7 @@
- [2905.找出满足差值条件的下标 II](/solution/2900-2999/2905.Find%20Indices%20With%20Index%20and%20Value%20Difference%20II/README.md)
- [2906.构造乘积矩阵](/solution/2900-2999/2906.Construct%20Product%20Matrix/README.md)
- [2907.Maximum Profitable Triplets With Increasing Prices I](/solution/2900-2999/2907.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20I/README.md)
+ - [2908.元素和最小的山形三元组 I](/solution/2900-2999/2908.Minimum%20Sum%20of%20Mountain%20Triplets%20I/README.md)
+ - [2909.元素和最小的山形三元组 II](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README.md)
+ - [2910.合法分组的最少组数](/solution/2900-2999/2910.Minimum%20Number%20of%20Groups%20to%20Create%20a%20Valid%20Assignment/README.md)
+ - [2911.得到 K 个半回文串的最少修改次数](/solution/2900-2999/2911.Minimum%20Changes%20to%20Make%20K%20Semi-palindromes/README.md)
diff --git a/solution/summary_en.md b/solution/summary_en.md
index 0829287426301..63d68f00bafab 100644
--- a/solution/summary_en.md
+++ b/solution/summary_en.md
@@ -2965,3 +2965,7 @@
- [2905.Find Indices With Index and Value Difference II](/solution/2900-2999/2905.Find%20Indices%20With%20Index%20and%20Value%20Difference%20II/README_EN.md)
- [2906.Construct Product Matrix](/solution/2900-2999/2906.Construct%20Product%20Matrix/README_EN.md)
- [2907.Maximum Profitable Triplets With Increasing Prices I](/solution/2900-2999/2907.Maximum%20Profitable%20Triplets%20With%20Increasing%20Prices%20I/README_EN.md)
+ - [2908.Minimum Sum of Mountain Triplets I](/solution/2900-2999/2908.Minimum%20Sum%20of%20Mountain%20Triplets%20I/README_EN.md)
+ - [2909.Minimum Sum of Mountain Triplets II](/solution/2900-2999/2909.Minimum%20Sum%20of%20Mountain%20Triplets%20II/README_EN.md)
+ - [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)
+ - [2911.Minimum Changes to Make K Semi-palindromes](/solution/2900-2999/2911.Minimum%20Changes%20to%20Make%20K%20Semi-palindromes/README_EN.md)