From 48c018739ec99ee524d45c22804e7256ebffbc3d Mon Sep 17 00:00:00 2001
From: acbin <44314231+acbin@users.noreply.github.com>
Date: Sun, 19 Nov 2023 04:47:24 +0000
Subject: [PATCH] feat: add weekly contest 372
---
.../2937.Make Three Strings Equal/README.md | 81 +++++++++++++++
.../README_EN.md | 72 ++++++++++++++
.../README.md | 96 ++++++++++++++++++
.../README_EN.md | 86 ++++++++++++++++
.../2939.Maximum Xor Product/README.md | 92 +++++++++++++++++
.../2939.Maximum Xor Product/README_EN.md | 82 +++++++++++++++
.../README.md | 99 +++++++++++++++++++
.../README_EN.md | 90 +++++++++++++++++
solution/CONTEST_README.md | 7 ++
solution/CONTEST_README_EN.md | 7 ++
solution/README.md | 4 +
solution/README_EN.md | 4 +
solution/summary.md | 6 +-
solution/summary_en.md | 4 +
14 files changed, 729 insertions(+), 1 deletion(-)
create mode 100644 solution/2900-2999/2937.Make Three Strings Equal/README.md
create mode 100644 solution/2900-2999/2937.Make Three Strings Equal/README_EN.md
create mode 100644 solution/2900-2999/2938.Separate Black and White Balls/README.md
create mode 100644 solution/2900-2999/2938.Separate Black and White Balls/README_EN.md
create mode 100644 solution/2900-2999/2939.Maximum Xor Product/README.md
create mode 100644 solution/2900-2999/2939.Maximum Xor Product/README_EN.md
create mode 100644 solution/2900-2999/2940.Find Building Where Alice and Bob Can Meet/README.md
create mode 100644 solution/2900-2999/2940.Find Building Where Alice and Bob Can Meet/README_EN.md
diff --git a/solution/2900-2999/2937.Make Three Strings Equal/README.md b/solution/2900-2999/2937.Make Three Strings Equal/README.md
new file mode 100644
index 0000000000000..64a0573aa76aa
--- /dev/null
+++ b/solution/2900-2999/2937.Make Three Strings Equal/README.md
@@ -0,0 +1,81 @@
+# [2937. 使三个字符串相等](https://leetcode.cn/problems/make-three-strings-equal)
+
+[English Version](/solution/2900-2999/2937.Make%20Three%20Strings%20Equal/README_EN.md)
+
+## 题目描述
+
+
+
+
给你三个字符串 s1
、s2
和 s3
。 你可以根据需要对这三个字符串执行以下操作 任意次数 。
+
+在每次操作中,你可以选择其中一个长度至少为 2
的字符串 并删除其 最右位置上 的字符。
+
+如果存在某种方法能够使这三个字符串相等,请返回使它们相等所需的 最小 操作次数;否则,返回 -1
。
+
+
+
+示例 1:
+
+
+输入:s1 = "abc",s2 = "abb",s3 = "ab"
+输出:2
+解释:对 s1 和 s2 进行一次操作后,可以得到三个相等的字符串。
+可以证明,不可能用少于两次操作使它们相等。
+
+示例 2:
+
+
+输入:s1 = "dac",s2 = "bac",s3 = "cac"
+输出:-1
+解释:因为 s1 和 s2 的最左位置上的字母不相等,所以无论进行多少次操作,它们都不可能相等。因此答案是 -1 。
+
+
+
+提示:
+
+
+ 1 <= s1.length, s2.length, s3.length <= 100
+ s1
、s2
和 s3
仅由小写英文字母组成。
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2937.Make Three Strings Equal/README_EN.md b/solution/2900-2999/2937.Make Three Strings Equal/README_EN.md
new file mode 100644
index 0000000000000..60982a7864fd1
--- /dev/null
+++ b/solution/2900-2999/2937.Make Three Strings Equal/README_EN.md
@@ -0,0 +1,72 @@
+# [2937. Make Three Strings Equal](https://leetcode.com/problems/make-three-strings-equal)
+
+[中文文档](/solution/2900-2999/2937.Make%20Three%20Strings%20Equal/README.md)
+
+## Description
+
+You are given three strings s1
, s2
, and s3
. You have to perform the following operation on these three strings as many times as you want.
+
+In one operation you can choose one of these three strings such that its length is at least 2
and delete the rightmost character of it.
+
+Return the minimum number of operations you need to perform to make the three strings equal if there is a way to make them equal, otherwise, return -1
.
+
+
+Example 1:
+
+
+Input: s1 = "abc", s2 = "abb", s3 = "ab"
+Output: 2
+Explanation: Performing operations on s1 and s2 once will lead to three equal strings.
+It can be shown that there is no way to make them equal with less than two operations.
+
+Example 2:
+
+
+Input: s1 = "dac", s2 = "bac", s3 = "cac"
+Output: -1
+Explanation: Because the leftmost letters of s1 and s2 are not equal, they could not be equal after any number of operations. So the answer is -1.
+
+
+
+Constraints:
+
+
+ 1 <= s1.length, s2.length, s3.length <= 100
+ s1
, s2
and s3
consist only of lowercase English letters.
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2938.Separate Black and White Balls/README.md b/solution/2900-2999/2938.Separate Black and White Balls/README.md
new file mode 100644
index 0000000000000..b202fb68d215d
--- /dev/null
+++ b/solution/2900-2999/2938.Separate Black and White Balls/README.md
@@ -0,0 +1,96 @@
+# [2938. 区分黑球与白球](https://leetcode.cn/problems/separate-black-and-white-balls)
+
+[English Version](/solution/2900-2999/2938.Separate%20Black%20and%20White%20Balls/README_EN.md)
+
+## 题目描述
+
+
+
+桌子上有 n
个球,每个球的颜色不是黑色,就是白色。
+
+给你一个长度为 n
、下标从 0 开始的二进制字符串 s
,其中 1
和 0
分别代表黑色和白色的球。
+
+在每一步中,你可以选择两个相邻的球并交换它们。
+
+返回「将所有黑色球都移到右侧,所有白色球都移到左侧所需的 最小步数」。
+
+
+
+示例 1:
+
+
+输入:s = "101"
+输出:1
+解释:我们可以按以下方式将所有黑色球移到右侧:
+- 交换 s[0] 和 s[1],s = "011"。
+最开始,1 没有都在右侧,需要至少 1 步将其移到右侧。
+
+示例 2:
+
+
+输入:s = "100"
+输出:2
+解释:我们可以按以下方式将所有黑色球移到右侧:
+- 交换 s[0] 和 s[1],s = "010"。
+- 交换 s[1] 和 s[2],s = "001"。
+可以证明所需的最小步数为 2 。
+
+
+示例 3:
+
+
+输入:s = "0111"
+输出:0
+解释:所有黑色球都已经在右侧。
+
+
+
+
+提示:
+
+
+ 1 <= n == s.length <= 105
+ s[i]
不是 '0'
,就是 '1'
。
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2938.Separate Black and White Balls/README_EN.md b/solution/2900-2999/2938.Separate Black and White Balls/README_EN.md
new file mode 100644
index 0000000000000..aba7028c96c57
--- /dev/null
+++ b/solution/2900-2999/2938.Separate Black and White Balls/README_EN.md
@@ -0,0 +1,86 @@
+# [2938. Separate Black and White Balls](https://leetcode.com/problems/separate-black-and-white-balls)
+
+[中文文档](/solution/2900-2999/2938.Separate%20Black%20and%20White%20Balls/README.md)
+
+## Description
+
+There are n
balls on a table, each ball has a color black or white.
+
+You are given a 0-indexed binary string s
of length n
, where 1
and 0
represent black and white balls, respectively.
+
+In each step, you can choose two adjacent balls and swap them.
+
+Return the minimum number of steps to group all the black balls to the right and all the white balls to the left.
+
+
+Example 1:
+
+
+Input: s = "101"
+Output: 1
+Explanation: We can group all the black balls to the right in the following way:
+- Swap s[0] and s[1], s = "011".
+Initially, 1s are not grouped together, requiring at least 1 step to group them to the right.
+
+Example 2:
+
+
+Input: s = "100"
+Output: 2
+Explanation: We can group all the black balls to the right in the following way:
+- Swap s[0] and s[1], s = "010".
+- Swap s[1] and s[2], s = "001".
+It can be proven that the minimum number of steps needed is 2.
+
+
+Example 3:
+
+
+Input: s = "0111"
+Output: 0
+Explanation: All the black balls are already grouped to the right.
+
+
+
+Constraints:
+
+
+ 1 <= n == s.length <= 105
+ s[i]
is either '0'
or '1'
.
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2939.Maximum Xor Product/README.md b/solution/2900-2999/2939.Maximum Xor Product/README.md
new file mode 100644
index 0000000000000..6a035081da229
--- /dev/null
+++ b/solution/2900-2999/2939.Maximum Xor Product/README.md
@@ -0,0 +1,92 @@
+# [2939. 最大异或乘积](https://leetcode.cn/problems/maximum-xor-product)
+
+[English Version](/solution/2900-2999/2939.Maximum%20Xor%20Product/README_EN.md)
+
+## 题目描述
+
+
+
+给你三个整数 a
,b
和 n
,请你返回 (a XOR x) * (b XOR x)
的 最大值 且 x
需要满足 0 <= x < 2n
。
+
+由于答案可能会很大,返回它对 109 + 7
取余 后的结果。
+
+注意,XOR
是按位异或操作。
+
+
+
+示例 1:
+
+
+输入:a = 12, b = 5, n = 4
+输出:98
+解释:当 x = 2 时,(a XOR x) = 14 且 (b XOR x) = 7 。所以,(a XOR x) * (b XOR x) = 98 。
+98 是所有满足 0 <= x < 2n 中 (a XOR x) * (b XOR x) 的最大值。
+
+
+示例 2:
+
+
+输入:a = 6, b = 7 , n = 5
+输出:930
+解释:当 x = 25 时,(a XOR x) = 31 且 (b XOR x) = 30 。所以,(a XOR x) * (b XOR x) = 930 。
+930 是所有满足 0 <= x < 2n 中 (a XOR x) * (b XOR x) 的最大值。
+
+示例 3:
+
+
+输入:a = 1, b = 6, n = 3
+输出:12
+解释: 当 x = 5 时,(a XOR x) = 4 且 (b XOR x) = 3 。所以,(a XOR x) * (b XOR x) = 12 。
+12 是所有满足 0 <= x < 2n 中 (a XOR x) * (b XOR x) 的最大值。
+
+
+
+
+提示:
+
+
+ 0 <= a, b < 250
+ 0 <= n <= 50
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2939.Maximum Xor Product/README_EN.md b/solution/2900-2999/2939.Maximum Xor Product/README_EN.md
new file mode 100644
index 0000000000000..c82bfa8eecee7
--- /dev/null
+++ b/solution/2900-2999/2939.Maximum Xor Product/README_EN.md
@@ -0,0 +1,82 @@
+# [2939. Maximum Xor Product](https://leetcode.com/problems/maximum-xor-product)
+
+[中文文档](/solution/2900-2999/2939.Maximum%20Xor%20Product/README.md)
+
+## Description
+
+Given three integers a
, b
, and n
, return the maximum value of (a XOR x) * (b XOR x)
where 0 <= x < 2n
.
+
+Since the answer may be too large, return it modulo 109 + 7
.
+
+Note that XOR
is the bitwise XOR operation.
+
+
+Example 1:
+
+
+Input: a = 12, b = 5, n = 4
+Output: 98
+Explanation: For x = 2, (a XOR x) = 14 and (b XOR x) = 7. Hence, (a XOR x) * (b XOR x) = 98.
+It can be shown that 98 is the maximum value of (a XOR x) * (b XOR x) for all 0 <= x < 2n.
+
+
+Example 2:
+
+
+Input: a = 6, b = 7 , n = 5
+Output: 930
+Explanation: For x = 25, (a XOR x) = 31 and (b XOR x) = 30. Hence, (a XOR x) * (b XOR x) = 930.
+It can be shown that 930 is the maximum value of (a XOR x) * (b XOR x) for all 0 <= x < 2n.
+
+Example 3:
+
+
+Input: a = 1, b = 6, n = 3
+Output: 12
+Explanation: For x = 5, (a XOR x) = 4 and (b XOR x) = 3. Hence, (a XOR x) * (b XOR x) = 12.
+It can be shown that 12 is the maximum value of (a XOR x) * (b XOR x) for all 0 <= x < 2n.
+
+
+
+Constraints:
+
+
+ 0 <= a, b < 250
+ 0 <= n <= 50
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2940.Find Building Where Alice and Bob Can Meet/README.md b/solution/2900-2999/2940.Find Building Where Alice and Bob Can Meet/README.md
new file mode 100644
index 0000000000000..d30b6561632fd
--- /dev/null
+++ b/solution/2900-2999/2940.Find Building Where Alice and Bob Can Meet/README.md
@@ -0,0 +1,99 @@
+# [2940. 找到 Alice 和 Bob 可以相遇的建筑](https://leetcode.cn/problems/find-building-where-alice-and-bob-can-meet)
+
+[English Version](/solution/2900-2999/2940.Find%20Building%20Where%20Alice%20and%20Bob%20Can%20Meet/README_EN.md)
+
+## 题目描述
+
+
+
+给你一个下标从 0 开始的正整数数组 heights
,其中 heights[i]
表示第 i
栋建筑的高度。
+
+如果一个人在建筑 i
,且存在 i < j
的建筑 j
满足 heights[i] < heights[j]
,那么这个人可以移动到建筑 j
。
+
+给你另外一个数组 queries
,其中 queries[i] = [ai, bi]
。第 i
个查询中,Alice 在建筑 ai
,Bob 在建筑 bi
。
+
+请你能返回一个数组 ans
,其中 ans[i]
是第 i
个查询中,Alice 和 Bob 可以相遇的 最左边的建筑 。如果对于查询 i
,Alice 和 Bob 不能相遇,令 ans[i]
为 -1
。
+
+
+
+示例 1:
+
+
+输入:heights = [6,4,8,5,2,7], queries = [[0,1],[0,3],[2,4],[3,4],[2,2]]
+输出:[2,5,-1,5,2]
+解释:第一个查询中,Alice 和 Bob 可以移动到建筑 2 ,因为 heights[0] < heights[2] 且 heights[1] < heights[2] 。
+第二个查询中,Alice 和 Bob 可以移动到建筑 5 ,因为 heights[0] < heights[5] 且 heights[3] < heights[5] 。
+第三个查询中,Alice 无法与 Bob 相遇,因为 Alice 不能移动到任何其他建筑。
+第四个查询中,Alice 和 Bob 可以移动到建筑 5 ,因为 heights[3] < heights[5] 且 heights[4] < heights[5] 。
+第五个查询中,Alice 和 Bob 已经在同一栋建筑中。
+对于 ans[i] != -1 ,ans[i] 是 Alice 和 Bob 可以相遇的建筑中最左边建筑的下标。
+对于 ans[i] == -1 ,不存在 Alice 和 Bob 可以相遇的建筑。
+
+
+示例 2:
+
+
+输入:heights = [5,3,8,2,6,1,4,6], queries = [[0,7],[3,5],[5,2],[3,0],[1,6]]
+输出:[7,6,-1,4,6]
+解释:第一个查询中,Alice 可以直接移动到 Bob 的建筑,因为 heights[0] < heights[7] 。
+第二个查询中,Alice 和 Bob 可以移动到建筑 6 ,因为 heights[3] < heights[6] 且 heights[5] < heights[6] 。
+第三个查询中,Alice 无法与 Bob 相遇,因为 Bob 不能移动到任何其他建筑。
+第四个查询中,Alice 和 Bob 可以移动到建筑 4 ,因为 heights[3] < heights[4] 且 heights[0] < heights[4] 。
+第五个查询中,Alice 可以直接移动到 Bob 的建筑,因为 heights[1] < heights[6] 。
+对于 ans[i] != -1 ,ans[i] 是 Alice 和 Bob 可以相遇的建筑中最左边建筑的下标。
+对于 ans[i] == -1 ,不存在 Alice 和 Bob 可以相遇的建筑。
+
+
+
+
+提示:
+
+
+ 1 <= heights.length <= 5 * 104
+ 1 <= heights[i] <= 109
+ 1 <= queries.length <= 5 * 104
+ queries[i] = [ai, bi]
+ 0 <= ai, bi <= heights.length - 1
+
+
+## 解法
+
+
+
+
+
+### **Python3**
+
+
+
+```python
+
+```
+
+### **Java**
+
+
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/2900-2999/2940.Find Building Where Alice and Bob Can Meet/README_EN.md b/solution/2900-2999/2940.Find Building Where Alice and Bob Can Meet/README_EN.md
new file mode 100644
index 0000000000000..87cd40ec41e23
--- /dev/null
+++ b/solution/2900-2999/2940.Find Building Where Alice and Bob Can Meet/README_EN.md
@@ -0,0 +1,90 @@
+# [2940. Find Building Where Alice and Bob Can Meet](https://leetcode.com/problems/find-building-where-alice-and-bob-can-meet)
+
+[中文文档](/solution/2900-2999/2940.Find%20Building%20Where%20Alice%20and%20Bob%20Can%20Meet/README.md)
+
+## Description
+
+You are given a 0-indexed array heights
of positive integers, where heights[i]
represents the height of the ith
building.
+
+If a person is in building i
, they can move to any other building j
if and only if i < j
and heights[i] < heights[j]
.
+
+You are also given another array queries
where queries[i] = [ai, bi]
. On the ith
query, Alice is in building ai
while Bob is in building bi
.
+
+Return an array ans
where ans[i]
is the index of the leftmost building where Alice and Bob can meet on the ith
query. If Alice and Bob cannot move to a common building on query i
, set ans[i]
to -1
.
+
+
+Example 1:
+
+
+Input: heights = [6,4,8,5,2,7], queries = [[0,1],[0,3],[2,4],[3,4],[2,2]]
+Output: [2,5,-1,5,2]
+Explanation: In the first query, Alice and Bob can move to building 2 since heights[0] < heights[2] and heights[1] < heights[2].
+In the second query, Alice and Bob can move to building 5 since heights[0] < heights[5] and heights[3] < heights[5].
+In the third query, Alice cannot meet Bob since Alice cannot move to any other building.
+In the fourth query, Alice and Bob can move to building 5 since heights[3] < heights[5] and heights[4] < heights[5].
+In the fifth query, Alice and Bob are already in the same building.
+For ans[i] != -1, It can be shown that ans[i] is the leftmost building where Alice and Bob can meet.
+For ans[i] == -1, It can be shown that there is no building where Alice and Bob can meet.
+
+
+Example 2:
+
+
+Input: heights = [5,3,8,2,6,1,4,6], queries = [[0,7],[3,5],[5,2],[3,0],[1,6]]
+Output: [7,6,-1,4,6]
+Explanation: In the first query, Alice can directly move to Bob's building since heights[0] < heights[7].
+In the second query, Alice and Bob can move to building 6 since heights[3] < heights[6] and heights[5] < heights[6].
+In the third query, Alice cannot meet Bob since Bob cannot move to any other building.
+In the fourth query, Alice and Bob can move to building 4 since heights[3] < heights[4] and heights[0] < heights[4].
+In the fifth query, Alice can directly move to Bob's building since heights[1] < heights[6].
+For ans[i] != -1, It can be shown that ans[i] is the leftmost building where Alice and Bob can meet.
+For ans[i] == -1, It can be shown that there is no building where Alice and Bob can meet.
+
+
+
+
+Constraints:
+
+
+ 1 <= heights.length <= 5 * 104
+ 1 <= heights[i] <= 109
+ 1 <= queries.length <= 5 * 104
+ queries[i] = [ai, bi]
+ 0 <= ai, bi <= heights.length - 1
+
+
+## Solutions
+
+
+
+### **Python3**
+
+```python
+
+```
+
+### **Java**
+
+```java
+
+```
+
+### **C++**
+
+```cpp
+
+```
+
+### **Go**
+
+```go
+
+```
+
+### **...**
+
+```
+
+```
+
+
diff --git a/solution/CONTEST_README.md b/solution/CONTEST_README.md
index 4ec5426624e6d..0afc694e835da 100644
--- a/solution/CONTEST_README.md
+++ b/solution/CONTEST_README.md
@@ -22,6 +22,13 @@
## 往期竞赛
+#### 第 372 场周赛(2023-11-19 10:30, 90 分钟) 参赛人数 3920
+
+- [2937. 使三个字符串相等](/solution/2900-2999/2937.Make%20Three%20Strings%20Equal/README.md)
+- [2938. 区分黑球与白球](/solution/2900-2999/2938.Separate%20Black%20and%20White%20Balls/README.md)
+- [2939. 最大异或乘积](/solution/2900-2999/2939.Maximum%20Xor%20Product/README.md)
+- [2940. 找到 Alice 和 Bob 可以相遇的建筑](/solution/2900-2999/2940.Find%20Building%20Where%20Alice%20and%20Bob%20Can%20Meet/README.md)
+
#### 第 371 场周赛(2023-11-12 10:30, 90 分钟) 参赛人数 3637
- [2932. 找出强数对的最大异或值 I](/solution/2900-2999/2932.Maximum%20Strong%20Pair%20XOR%20I/README.md)
diff --git a/solution/CONTEST_README_EN.md b/solution/CONTEST_README_EN.md
index 7e852c376f6ef..d1032bfd2f50b 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 372
+
+- [2937. Make Three Strings Equal](/solution/2900-2999/2937.Make%20Three%20Strings%20Equal/README_EN.md)
+- [2938. Separate Black and White Balls](/solution/2900-2999/2938.Separate%20Black%20and%20White%20Balls/README_EN.md)
+- [2939. Maximum Xor Product](/solution/2900-2999/2939.Maximum%20Xor%20Product/README_EN.md)
+- [2940. Find Building Where Alice and Bob Can Meet](/solution/2900-2999/2940.Find%20Building%20Where%20Alice%20and%20Bob%20Can%20Meet/README_EN.md)
+
#### Weekly Contest 371
- [2932. Maximum Strong Pair XOR I](/solution/2900-2999/2932.Maximum%20Strong%20Pair%20XOR%20I/README_EN.md)
diff --git a/solution/README.md b/solution/README.md
index da6dba31d3d9a..ad98b526a914c 100644
--- a/solution/README.md
+++ b/solution/README.md
@@ -2947,6 +2947,10 @@
| 2934 | [最大化数组末位元素的最少操作次数](/solution/2900-2999/2934.Minimum%20Operations%20to%20Maximize%20Last%20Elements%20in%20Arrays/README.md) | `贪心`,`数组` | 中等 | 第 371 场周赛 |
| 2935 | [找出强数对的最大异或值 II](/solution/2900-2999/2935.Maximum%20Strong%20Pair%20XOR%20II/README.md) | `位运算`,`字典树`,`数组`,`哈希表`,`滑动窗口` | 困难 | 第 371 场周赛 |
| 2936 | [Number of Equal Numbers Blocks](/solution/2900-2999/2936.Number%20of%20Equal%20Numbers%20Blocks/README.md) | | 中等 | 🔒 |
+| 2937 | [使三个字符串相等](/solution/2900-2999/2937.Make%20Three%20Strings%20Equal/README.md) | | 简单 | 第 372 场周赛 |
+| 2938 | [区分黑球与白球](/solution/2900-2999/2938.Separate%20Black%20and%20White%20Balls/README.md) | | 中等 | 第 372 场周赛 |
+| 2939 | [最大异或乘积](/solution/2900-2999/2939.Maximum%20Xor%20Product/README.md) | | 中等 | 第 372 场周赛 |
+| 2940 | [找到 Alice 和 Bob 可以相遇的建筑](/solution/2900-2999/2940.Find%20Building%20Where%20Alice%20and%20Bob%20Can%20Meet/README.md) | | 困难 | 第 372 场周赛 |
## 版权
diff --git a/solution/README_EN.md b/solution/README_EN.md
index 46b514126559c..22570fd6e305f 100644
--- a/solution/README_EN.md
+++ b/solution/README_EN.md
@@ -2945,6 +2945,10 @@ Press Control + F(or Command + F on
| 2934 | [Minimum Operations to Maximize Last Elements in Arrays](/solution/2900-2999/2934.Minimum%20Operations%20to%20Maximize%20Last%20Elements%20in%20Arrays/README_EN.md) | `Greedy`,`Array` | Medium | Weekly Contest 371 |
| 2935 | [Maximum Strong Pair XOR II](/solution/2900-2999/2935.Maximum%20Strong%20Pair%20XOR%20II/README_EN.md) | `Bit Manipulation`,`Trie`,`Array`,`Hash Table`,`Sliding Window` | Hard | Weekly Contest 371 |
| 2936 | [Number of Equal Numbers Blocks](/solution/2900-2999/2936.Number%20of%20Equal%20Numbers%20Blocks/README_EN.md) | | Medium | 🔒 |
+| 2937 | [Make Three Strings Equal](/solution/2900-2999/2937.Make%20Three%20Strings%20Equal/README_EN.md) | | Easy | Weekly Contest 372 |
+| 2938 | [Separate Black and White Balls](/solution/2900-2999/2938.Separate%20Black%20and%20White%20Balls/README_EN.md) | | Medium | Weekly Contest 372 |
+| 2939 | [Maximum Xor Product](/solution/2900-2999/2939.Maximum%20Xor%20Product/README_EN.md) | | Medium | Weekly Contest 372 |
+| 2940 | [Find Building Where Alice and Bob Can Meet](/solution/2900-2999/2940.Find%20Building%20Where%20Alice%20and%20Bob%20Can%20Meet/README_EN.md) | | Hard | Weekly Contest 372 |
## Copyright
diff --git a/solution/summary.md b/solution/summary.md
index b94f1adf67664..e3e0b500c74e1 100644
--- a/solution/summary.md
+++ b/solution/summary.md
@@ -402,7 +402,7 @@
- [0394.字符串解码](/solution/0300-0399/0394.Decode%20String/README.md)
- [0395.至少有 K 个重复字符的最长子串](/solution/0300-0399/0395.Longest%20Substring%20with%20At%20Least%20K%20Repeating%20Characters/README.md)
- [0396.旋转函数](/solution/0300-0399/0396.Rotate%20Function/README.md)
- - [0397.Integer Replacement](/solution/0300-0399/0397.Integer%20Replacement/README.md)
+ - [0397.整数替换](/solution/0300-0399/0397.Integer%20Replacement/README.md)
- [0398.随机数索引](/solution/0300-0399/0398.Random%20Pick%20Index/README.md)
- [0399.除法求值](/solution/0300-0399/0399.Evaluate%20Division/README.md)
@@ -2994,3 +2994,7 @@
- [2934.最大化数组末位元素的最少操作次数](/solution/2900-2999/2934.Minimum%20Operations%20to%20Maximize%20Last%20Elements%20in%20Arrays/README.md)
- [2935.找出强数对的最大异或值 II](/solution/2900-2999/2935.Maximum%20Strong%20Pair%20XOR%20II/README.md)
- [2936.Number of Equal Numbers Blocks](/solution/2900-2999/2936.Number%20of%20Equal%20Numbers%20Blocks/README.md)
+ - [2937.使三个字符串相等](/solution/2900-2999/2937.Make%20Three%20Strings%20Equal/README.md)
+ - [2938.区分黑球与白球](/solution/2900-2999/2938.Separate%20Black%20and%20White%20Balls/README.md)
+ - [2939.最大异或乘积](/solution/2900-2999/2939.Maximum%20Xor%20Product/README.md)
+ - [2940.找到 Alice 和 Bob 可以相遇的建筑](/solution/2900-2999/2940.Find%20Building%20Where%20Alice%20and%20Bob%20Can%20Meet/README.md)
diff --git a/solution/summary_en.md b/solution/summary_en.md
index 7578dc7c93756..4e7090ed2e630 100644
--- a/solution/summary_en.md
+++ b/solution/summary_en.md
@@ -2994,3 +2994,7 @@
- [2934.Minimum Operations to Maximize Last Elements in Arrays](/solution/2900-2999/2934.Minimum%20Operations%20to%20Maximize%20Last%20Elements%20in%20Arrays/README_EN.md)
- [2935.Maximum Strong Pair XOR II](/solution/2900-2999/2935.Maximum%20Strong%20Pair%20XOR%20II/README_EN.md)
- [2936.Number of Equal Numbers Blocks](/solution/2900-2999/2936.Number%20of%20Equal%20Numbers%20Blocks/README_EN.md)
+ - [2937.Make Three Strings Equal](/solution/2900-2999/2937.Make%20Three%20Strings%20Equal/README_EN.md)
+ - [2938.Separate Black and White Balls](/solution/2900-2999/2938.Separate%20Black%20and%20White%20Balls/README_EN.md)
+ - [2939.Maximum Xor Product](/solution/2900-2999/2939.Maximum%20Xor%20Product/README_EN.md)
+ - [2940.Find Building Where Alice and Bob Can Meet](/solution/2900-2999/2940.Find%20Building%20Where%20Alice%20and%20Bob%20Can%20Meet/README_EN.md)