From 6b8f5fa1a6d1ed8006314b171d1696668044c7d4 Mon Sep 17 00:00:00 2001 From: acbin <44314231+acbin@users.noreply.github.com> Date: Thu, 7 Dec 2023 04:56:43 +0000 Subject: [PATCH 1/2] feat: add new lc problem --- .../README.md | 90 +++++++++++++++++++ .../README_EN.md | 82 +++++++++++++++++ solution/README.md | 1 + solution/README_EN.md | 1 + solution/main.py | 9 +- solution/summary.md | 1 + solution/summary_en.md | 1 + 7 files changed, 182 insertions(+), 3 deletions(-) create mode 100644 solution/2900-2999/2955.Number of Same-End Substrings/README.md create mode 100644 solution/2900-2999/2955.Number of Same-End Substrings/README_EN.md diff --git a/solution/2900-2999/2955.Number of Same-End Substrings/README.md b/solution/2900-2999/2955.Number of Same-End Substrings/README.md new file mode 100644 index 0000000000000..7323583b26ab6 --- /dev/null +++ b/solution/2900-2999/2955.Number of Same-End Substrings/README.md @@ -0,0 +1,90 @@ +# [2955. Number of Same-End Substrings](https://leetcode.cn/problems/number-of-same-end-substrings) + +[English Version](/solution/2900-2999/2955.Number%20of%20Same-End%20Substrings/README_EN.md) + +## 题目描述 + + + +
You are given a 0-indexed string s
, and a 2D array of integers queries
, where queries[i] = [li, ri]
indicates a substring of s
starting from the index li
and ending at the index ri
(both inclusive), i.e. s[li..ri]
.
Return an array ans
where ans[i]
is the number of same-end substrings of queries[i]
.
A 0-indexed string t
of length n
is called same-end if it has the same character at both of its ends, i.e., t[0] == t[n - 1]
.
A substring is a contiguous non-empty sequence of characters within a string.
+ ++
Example 1:
+ ++Input: s = "abcaab", queries = [[0,0],[1,4],[2,5],[0,5]] +Output: [1,5,5,10] +Explanation: Here is the same-end substrings of each query: +1st query: s[0..0] is "a" which has 1 same-end substring: "a". +2nd query: s[1..4] is "bcaa" which has 5 same-end substrings: "bcaa", "bcaa", "bcaa", "bcaa", "bcaa". +3rd query: s[2..5] is "caab" which has 5 same-end substrings: "caab", "caab", "caab", "caab", "caab". +4th query: s[0..5] is "abcaab" which has 10 same-end substrings: "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab". ++ +
Example 2:
+ ++Input: s = "abcd", queries = [[0,3]] +Output: [4] +Explanation: The only query is s[0..3] which is "abcd". It has 4 same-end substrings: "abcd", "abcd", "abcd", "abcd". ++ +
+
Constraints:
+ +2 <= s.length <= 3 * 104
s
consists only of lowercase English letters.1 <= queries.length <= 3 * 104
queries[i].length == 2
queries[i] = [li, ri]
0 <= li <= ri < s.length
You are given a 0-indexed string s
, and a 2D array of integers queries
, where queries[i] = [li, ri]
indicates a substring of s
starting from the index li
and ending at the index ri
(both inclusive), i.e. s[li..ri]
.
Return an array ans
where ans[i]
is the number of same-end substrings of queries[i]
.
A 0-indexed string t
of length n
is called same-end if it has the same character at both of its ends, i.e., t[0] == t[n - 1]
.
A substring is a contiguous non-empty sequence of characters within a string.
+ ++
Example 1:
+ ++Input: s = "abcaab", queries = [[0,0],[1,4],[2,5],[0,5]] +Output: [1,5,5,10] +Explanation: Here is the same-end substrings of each query: +1st query: s[0..0] is "a" which has 1 same-end substring: "a". +2nd query: s[1..4] is "bcaa" which has 5 same-end substrings: "bcaa", "bcaa", "bcaa", "bcaa", "bcaa". +3rd query: s[2..5] is "caab" which has 5 same-end substrings: "caab", "caab", "caab", "caab", "caab". +4th query: s[0..5] is "abcaab" which has 10 same-end substrings: "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab", "abcaab". ++ +
Example 2:
+ ++Input: s = "abcd", queries = [[0,3]] +Output: [4] +Explanation: The only query is s[0..3] which is "abcd". It has 4 same-end substrings: "abcd", "abcd", "abcd", "abcd". ++ +
+
Constraints:
+ +2 <= s.length <= 3 * 104
s
consists only of lowercase English letters.1 <= queries.length <= 3 * 104
queries[i].length == 2
queries[i] = [li, ri]
0 <= li <= ri < s.length
示例 2:
-输入: s = "God Ding" -输出:"doG gniD" +输入: s = "Mr Ding" +输出:"rM gniD"
diff --git a/solution/0500-0599/0557.Reverse Words in a String III/README_EN.md b/solution/0500-0599/0557.Reverse Words in a String III/README_EN.md index 083b24bcee914..01a01dea23681 100644 --- a/solution/0500-0599/0557.Reverse Words in a String III/README_EN.md +++ b/solution/0500-0599/0557.Reverse Words in a String III/README_EN.md @@ -8,12 +8,19 @@
Example 1:
-Input: s = "Let's take LeetCode contest" -Output: "s'teL ekat edoCteeL tsetnoc" -
Example 2:
-Input: s = "God Ding" -Output: "doG gniD" + ++id 为 1 的产品仅在 2019 年春季销售。 +id 为 2 的产品在 2019 年春季销售,但也在 2019 年春季之后销售。 +id 为 3 的产品在 2019 年春季之后销售。 +我们只返回 id 为 1 的产品,因为它是 2019 年春季才销售的产品。 ## 解法 diff --git a/solution/1500-1599/1522.Diameter of N-Ary Tree/README.md b/solution/1500-1599/1522.Diameter of N-Ary Tree/README.md index f869b4d797281..05088054ef6c8 100644 --- a/solution/1500-1599/1522.Diameter of N-Ary Tree/README.md +++ b/solution/1500-1599/1522.Diameter of N-Ary Tree/README.md @@ -6,7 +6,7 @@ -+Input: s = "Let's take LeetCode contest" +Output: "s'teL ekat edoCteeL tsetnoc"+ +Example 2:
+ ++Input: s = "Mr Ding" +Output: "rM gniD" ++
Constraints:
diff --git a/solution/1000-1099/1084.Sales Analysis III/README.md b/solution/1000-1099/1084.Sales Analysis III/README.md index 44a00d317897a..60e1b4b611408 100644 --- a/solution/1000-1099/1084.Sales Analysis III/README.md +++ b/solution/1000-1099/1084.Sales Analysis III/README.md @@ -76,10 +76,10 @@ Product table: | 1 | S8 | +-------------+--------------+ 解释: -id为1的产品仅在2019年春季销售。 -id为2的产品在2019年春季销售,但也在2019年春季之后销售。 -id 3的产品在2019年春季之后销售。 -我们只退回产品1,因为它是2019年春季才销售的产品。
给定一棵 N 叉树的根节点 root
,计算这棵树的直径长度。
给定一棵 N 叉树
的根节点 root
,计算这棵树的直径长度。
N 叉树的直径指的是树中任意两个节点间路径中 最长 路径的长度。这条路径可能经过根节点,也可能不经过根节点。
diff --git a/solution/1500-1599/1522.Diameter of N-Ary Tree/README_EN.md b/solution/1500-1599/1522.Diameter of N-Ary Tree/README_EN.md index 6b746b622b8ab..bb3a3891de2bb 100644 --- a/solution/1500-1599/1522.Diameter of N-Ary Tree/README_EN.md +++ b/solution/1500-1599/1522.Diameter of N-Ary Tree/README_EN.md @@ -4,7 +4,7 @@ ## Description -Given a root
of an N-ary tree, you need to compute the length of the diameter of the tree.
Given a root
of an N-ary tree
, you need to compute the length of the diameter of the tree.
The diameter of an N-ary tree is the length of the longest path between any two nodes in the tree. This path may or may not pass through the root.
diff --git a/solution/2400-2499/2431.Maximize Total Tastiness of Purchased Fruits/README.md b/solution/2400-2499/2431.Maximize Total Tastiness of Purchased Fruits/README.md index 45f11370eb289..dd83245c179e0 100644 --- a/solution/2400-2499/2431.Maximize Total Tastiness of Purchased Fruits/README.md +++ b/solution/2400-2499/2431.Maximize Total Tastiness of Purchased Fruits/README.md @@ -26,8 +26,8 @@注意:
diff --git a/solution/2400-2499/2436.Minimum Split Into Subarrays With GCD Greater Than One/README.md b/solution/2400-2499/2436.Minimum Split Into Subarrays With GCD Greater Than One/README.md index 17069dd0e7936..692421f2285a6 100644 --- a/solution/2400-2499/2436.Minimum Split Into Subarrays With GCD Greater Than One/README.md +++ b/solution/2400-2499/2436.Minimum Split Into Subarrays With GCD Greater Than One/README.md @@ -8,7 +8,7 @@
给定一个由正整数组成的数组 nums
。
将数组拆分为 一个或多个 不相连的子数组,如下所示:
+将数组拆分为 一个或多个 互相不覆盖的子数组,如下所示:
从下标 0
开始遍历 arr
中的每个下标 i
,并将包含整数 arr[i]
的 mat
单元格涂色。
请你找出 arr
中在 mat
的某一行或某一列上都被涂色且下标最小的元素,并返回其下标 i
。
请你找出 arr
中第一个使得 mat
的某一行或某一列都被涂色的元素,并返回其下标 i
。
diff --git a/solution/2700-2799/2715.Timeout Cancellation/README_EN.md b/solution/2700-2799/2715.Timeout Cancellation/README_EN.md index 2bdd13fea5fe6..6e134bf7f92d1 100644 --- a/solution/2700-2799/2715.Timeout Cancellation/README_EN.md +++ b/solution/2700-2799/2715.Timeout Cancellation/README_EN.md @@ -6,35 +6,44 @@
Given a function fn
, an array of arguments args
, and a timeout t
in milliseconds, return a cancel function cancelFn
.
After a delay of t
, fn
should be called with args
passed as parameters unless cancelFn
was invoked before the delay of t
milliseconds elapses, specifically at cancelT
ms. In that case, fn
should never be called.
After a delay of cancelT
, the returned cancel function cancelFn
will be invoked.
+setTimeout(cancelFn, cancelT) ++ +
Initially, the execution of the function fn
should be delayed by t
milliseconds.
If, before the delay of t
milliseconds, the function cancelFn
is invoked, it should cancel the delayed execution of fn
. Otherwise, if cancelFn
is not invoked within the specified delay t
, fn
should be executed with the provided args
as arguments.
Example 1:
-Input: fn = (x) => x * 5, args = [2], t = 20, cancelT = 50 +Input: fn = (x) => x * 5, args = [2], t = 20 Output: [{"time": 20, "returned": 10}] Explanation: -const result = [] +const cancelT = 50; +const result = []; -const fn = (x) => x * 5 +const fn = (x) => x * 5; -const start = performance.now() +const start = performance.now(); const log = (...argsArr) => { const diff = Math.floor(performance.now() - start); - result.push({"time": diff, "returned": fn(...argsArr)}) + result.push({"time": diff, "returned": fn(...argsArr)}); } const cancel = cancellable(log, [2], 20); -const maxT = Math.max(t, 50) +const maxT = Math.max(t, 50); -setTimeout(cancel, cancelT) +setTimeout(cancel, cancelT); setTimeout(() => { - console.log(result) // [{"time":20,"returned":10}] -}, 65) + console.log(result); // [{"time":20,"returned":10}] +}, 65); The cancellation was scheduled to occur after a delay of cancelT (50ms), which happened after the execution of fn(2) at 20ms.@@ -42,17 +51,21 @@ The cancellation was scheduled to occur after a delay of cancelT (50ms), which h
Example 2:
-Input: fn = (x) => x**2, args = [2], t = 100, cancelT = 50 +Input: fn = (x) => x**2, args = [2], t = 100 Output: [] -Explanation: The cancellation was scheduled to occur after a delay of cancelT (50ms), which happened before the execution of fn(2) at 100ms, resulting in fn(2) never being called. +Explanation: +const cancelT = 50; +The cancellation was scheduled to occur after a delay of cancelT (50ms), which happened before the execution of fn(2) at 100ms, resulting in fn(2) never being called.
Example 3:
-Input: fn = (x1, x2) => x1 * x2, args = [2,4], t = 30, cancelT = 100 +Input: fn = (x1, x2) => x1 * x2, args = [2,4], t = 30 Output: [{"time": 30, "returned": 8}] -Explanation: The cancellation was scheduled to occur after a delay of cancelT (100ms), which happened after the execution of fn(2,4) at 30ms. +Explanation: +const cancelT = 100; +The cancellation was scheduled to occur after a delay of cancelT (100ms), which happened after the execution of fn(2,4) at 30ms.
diff --git a/solution/2900-2999/2948.Make Lexicographically Smallest Array by Swapping Elements/README.md b/solution/2900-2999/2948.Make Lexicographically Smallest Array by Swapping Elements/README.md index 61942253a120f..e2a94fb123be9 100644 --- a/solution/2900-2999/2948.Make Lexicographically Smallest Array by Swapping Elements/README.md +++ b/solution/2900-2999/2948.Make Lexicographically Smallest Array by Swapping Elements/README.md @@ -12,7 +12,7 @@
返回执行任意次操作后能得到的 字典序最小的数组 。
-如果在数组 a
和数组 b
第一个不同的位置上,数组 a
中的对应字符比数组 b
中的对应字符的字典序更小,则认为数组 a
就比数组 b
字典序更小。例如,数组 [2,10,3]
比数组 [10,2,3]
字典序更小,下标 0
处是两个数组第一个不同的位置,且 2 < 10
。
如果在数组 a
和数组 b
第一个不同的位置上,数组 a
中的对应元素比数组 b
中的对应元素的字典序更小,则认为数组 a
就比数组 b
字典序更小。例如,数组 [2,10,3]
比数组 [10,2,3]
字典序更小,下标 0
处是两个数组第一个不同的位置,且 2 < 10
。
diff --git a/solution/README.md b/solution/README.md index 170115cedf76b..fc1d884069216 100644 --- a/solution/README.md +++ b/solution/README.md @@ -1294,7 +1294,7 @@ | 1281 | [整数的各位积和之差](/solution/1200-1299/1281.Subtract%20the%20Product%20and%20Sum%20of%20Digits%20of%20an%20Integer/README.md) | `数学` | 简单 | 第 166 场周赛 | | 1282 | [用户分组](/solution/1200-1299/1282.Group%20the%20People%20Given%20the%20Group%20Size%20They%20Belong%20To/README.md) | `数组`,`哈希表` | 中等 | 第 166 场周赛 | | 1283 | [使结果不超过阈值的最小除数](/solution/1200-1299/1283.Find%20the%20Smallest%20Divisor%20Given%20a%20Threshold/README.md) | `数组`,`二分查找` | 中等 | 第 166 场周赛 | -| 1284 | [转化为全零矩阵的最少反转次数](/solution/1200-1299/1284.Minimum%20Number%20of%20Flips%20to%20Convert%20Binary%20Matrix%20to%20Zero%20Matrix/README.md) | `位运算`,`广度优先搜索`,`数组`,`矩阵` | 困难 | 第 166 场周赛 | +| 1284 | [转化为全零矩阵的最少反转次数](/solution/1200-1299/1284.Minimum%20Number%20of%20Flips%20to%20Convert%20Binary%20Matrix%20to%20Zero%20Matrix/README.md) | `位运算`,`广度优先搜索`,`数组`,`哈希表`,`矩阵` | 困难 | 第 166 场周赛 | | 1285 | [找到连续区间的开始和结束数字](/solution/1200-1299/1285.Find%20the%20Start%20and%20End%20Number%20of%20Continuous%20Ranges/README.md) | `数据库` | 中等 | 🔒 | | 1286 | [字母组合迭代器](/solution/1200-1299/1286.Iterator%20for%20Combination/README.md) | `设计`,`字符串`,`回溯`,`迭代器` | 中等 | 第 15 场双周赛 | | 1287 | [有序数组中出现次数超过25%的元素](/solution/1200-1299/1287.Element%20Appearing%20More%20Than%2025%25%20In%20Sorted%20Array/README.md) | `数组` | 简单 | 第 15 场双周赛 | @@ -1895,7 +1895,7 @@ | 1882 | [使用服务器处理任务](/solution/1800-1899/1882.Process%20Tasks%20Using%20Servers/README.md) | `数组`,`堆(优先队列)` | 中等 | 第 243 场周赛 | | 1883 | [准时抵达会议现场的最小跳过休息次数](/solution/1800-1899/1883.Minimum%20Skips%20to%20Arrive%20at%20Meeting%20On%20Time/README.md) | `数组`,`动态规划` | 困难 | 第 243 场周赛 | | 1884 | [鸡蛋掉落-两枚鸡蛋](/solution/1800-1899/1884.Egg%20Drop%20With%202%20Eggs%20and%20N%20Floors/README.md) | `数学`,`动态规划` | 中等 | | -| 1885 | [统计数对](/solution/1800-1899/1885.Count%20Pairs%20in%20Two%20Arrays/README.md) | `数组`,`二分查找`,`排序` | 中等 | 🔒 | +| 1885 | [统计数对](/solution/1800-1899/1885.Count%20Pairs%20in%20Two%20Arrays/README.md) | `数组`,`双指针`,`二分查找`,`排序` | 中等 | 🔒 | | 1886 | [判断矩阵经轮转后是否一致](/solution/1800-1899/1886.Determine%20Whether%20Matrix%20Can%20Be%20Obtained%20By%20Rotation/README.md) | `数组`,`矩阵` | 简单 | 第 244 场周赛 | | 1887 | [使数组元素相等的减少操作次数](/solution/1800-1899/1887.Reduction%20Operations%20to%20Make%20the%20Array%20Elements%20Equal/README.md) | `数组`,`排序` | 中等 | 第 244 场周赛 | | 1888 | [使二进制字符串字符交替的最少反转次数](/solution/1800-1899/1888.Minimum%20Number%20of%20Flips%20to%20Make%20the%20Binary%20String%20Alternating/README.md) | `贪心`,`字符串`,`动态规划`,`滑动窗口` | 中等 | 第 244 场周赛 | @@ -2593,7 +2593,7 @@ | 2580 | [统计将重叠区间合并成组的方案数](/solution/2500-2599/2580.Count%20Ways%20to%20Group%20Overlapping%20Ranges/README.md) | `数组`,`排序` | 中等 | 第 99 场双周赛 | | 2581 | [统计可能的树根数目](/solution/2500-2599/2581.Count%20Number%20of%20Possible%20Root%20Nodes/README.md) | `树`,`深度优先搜索`,`哈希表`,`动态规划` | 困难 | 第 99 场双周赛 | | 2582 | [递枕头](/solution/2500-2599/2582.Pass%20the%20Pillow/README.md) | `数学`,`模拟` | 简单 | 第 335 场周赛 | -| 2583 | [二叉树中的第 K 大层和](/solution/2500-2599/2583.Kth%20Largest%20Sum%20in%20a%20Binary%20Tree/README.md) | `树`,`广度优先搜索`,`二分查找` | 中等 | 第 335 场周赛 | +| 2583 | [二叉树中的第 K 大层和](/solution/2500-2599/2583.Kth%20Largest%20Sum%20in%20a%20Binary%20Tree/README.md) | `树`,`广度优先搜索`,`二叉树`,`排序` | 中等 | 第 335 场周赛 | | 2584 | [分割数组使乘积互质](/solution/2500-2599/2584.Split%20the%20Array%20to%20Make%20Coprime%20Products/README.md) | `数组`,`哈希表`,`数学`,`数论` | 困难 | 第 335 场周赛 | | 2585 | [获得分数的方法数](/solution/2500-2599/2585.Number%20of%20Ways%20to%20Earn%20Points/README.md) | `数组`,`动态规划` | 困难 | 第 335 场周赛 | | 2586 | [统计范围内的元音字符串数](/solution/2500-2599/2586.Count%20the%20Number%20of%20Vowel%20Strings%20in%20Range/README.md) | `数组`,`字符串` | 简单 | 第 336 场周赛 | @@ -2960,11 +2960,11 @@ | 2947 | [统计美丽子字符串 I](/solution/2900-2999/2947.Count%20Beautiful%20Substrings%20I/README.md) | `字符串`,`枚举`,`前缀和` | 中等 | 第 373 场周赛 | | 2948 | [交换得到字典序最小的数组](/solution/2900-2999/2948.Make%20Lexicographically%20Smallest%20Array%20by%20Swapping%20Elements/README.md) | `并查集`,`数组`,`排序` | 中等 | 第 373 场周赛 | | 2949 | [统计美丽子字符串 II](/solution/2900-2999/2949.Count%20Beautiful%20Substrings%20II/README.md) | `哈希表`,`数学`,`字符串`,`数论`,`前缀和` | 困难 | 第 373 场周赛 | -| 2950 | [可整除子串的数量](/solution/2900-2999/2950.Number%20of%20Divisible%20Substrings/README.md) | | 中等 | 🔒 | -| 2951 | [找出峰值](/solution/2900-2999/2951.Find%20the%20Peaks/README.md) | | 简单 | 第 374 场周赛 | -| 2952 | [需要添加的硬币的最小数量](/solution/2900-2999/2952.Minimum%20Number%20of%20Coins%20to%20be%20Added/README.md) | | 中等 | 第 374 场周赛 | -| 2953 | [统计完全子字符串](/solution/2900-2999/2953.Count%20Complete%20Substrings/README.md) | | 中等 | 第 374 场周赛 | -| 2954 | [统计感冒序列的数目](/solution/2900-2999/2954.Count%20the%20Number%20of%20Infection%20Sequences/README.md) | | 困难 | 第 374 场周赛 | +| 2950 | [可整除子串的数量](/solution/2900-2999/2950.Number%20of%20Divisible%20Substrings/README.md) | `哈希表`,`字符串`,`计数` | 中等 | 🔒 | +| 2951 | [找出峰值](/solution/2900-2999/2951.Find%20the%20Peaks/README.md) | `数组`,`枚举` | 简单 | 第 374 场周赛 | +| 2952 | [需要添加的硬币的最小数量](/solution/2900-2999/2952.Minimum%20Number%20of%20Coins%20to%20be%20Added/README.md) | `贪心`,`数组`,`排序` | 困难 | 第 374 场周赛 | +| 2953 | [统计完全子字符串](/solution/2900-2999/2953.Count%20Complete%20Substrings/README.md) | `哈希表`,`字符串`,`滑动窗口` | 中等 | 第 374 场周赛 | +| 2954 | [统计感冒序列的数目](/solution/2900-2999/2954.Count%20the%20Number%20of%20Infection%20Sequences/README.md) | `数组`,`数学`,`组合数学` | 困难 | 第 374 场周赛 | | 2955 | [Number of Same-End Substrings](/solution/2900-2999/2955.Number%20of%20Same-End%20Substrings/README.md) | | 中等 | 🔒 | ## 版权 diff --git a/solution/README_EN.md b/solution/README_EN.md index af307782fa5fe..ac61bd473c8dc 100644 --- a/solution/README_EN.md +++ b/solution/README_EN.md @@ -1292,7 +1292,7 @@ Press Control + F(or Command + F on | 1281 | [Subtract the Product and Sum of Digits of an Integer](/solution/1200-1299/1281.Subtract%20the%20Product%20and%20Sum%20of%20Digits%20of%20an%20Integer/README_EN.md) | `Math` | Easy | Weekly Contest 166 | | 1282 | [Group the People Given the Group Size They Belong To](/solution/1200-1299/1282.Group%20the%20People%20Given%20the%20Group%20Size%20They%20Belong%20To/README_EN.md) | `Array`,`Hash Table` | Medium | Weekly Contest 166 | | 1283 | [Find the Smallest Divisor Given a Threshold](/solution/1200-1299/1283.Find%20the%20Smallest%20Divisor%20Given%20a%20Threshold/README_EN.md) | `Array`,`Binary Search` | Medium | Weekly Contest 166 | -| 1284 | [Minimum Number of Flips to Convert Binary Matrix to Zero Matrix](/solution/1200-1299/1284.Minimum%20Number%20of%20Flips%20to%20Convert%20Binary%20Matrix%20to%20Zero%20Matrix/README_EN.md) | `Bit Manipulation`,`Breadth-First Search`,`Array`,`Matrix` | Hard | Weekly Contest 166 | +| 1284 | [Minimum Number of Flips to Convert Binary Matrix to Zero Matrix](/solution/1200-1299/1284.Minimum%20Number%20of%20Flips%20to%20Convert%20Binary%20Matrix%20to%20Zero%20Matrix/README_EN.md) | `Bit Manipulation`,`Breadth-First Search`,`Array`,`Hash Table`,`Matrix` | Hard | Weekly Contest 166 | | 1285 | [Find the Start and End Number of Continuous Ranges](/solution/1200-1299/1285.Find%20the%20Start%20and%20End%20Number%20of%20Continuous%20Ranges/README_EN.md) | `Database` | Medium | 🔒 | | 1286 | [Iterator for Combination](/solution/1200-1299/1286.Iterator%20for%20Combination/README_EN.md) | `Design`,`String`,`Backtracking`,`Iterator` | Medium | Biweekly Contest 15 | | 1287 | [Element Appearing More Than 25% In Sorted Array](/solution/1200-1299/1287.Element%20Appearing%20More%20Than%2025%25%20In%20Sorted%20Array/README_EN.md) | `Array` | Easy | Biweekly Contest 15 | @@ -1893,7 +1893,7 @@ Press Control + F(or Command + F on | 1882 | [Process Tasks Using Servers](/solution/1800-1899/1882.Process%20Tasks%20Using%20Servers/README_EN.md) | `Array`,`Heap (Priority Queue)` | Medium | Weekly Contest 243 | | 1883 | [Minimum Skips to Arrive at Meeting On Time](/solution/1800-1899/1883.Minimum%20Skips%20to%20Arrive%20at%20Meeting%20On%20Time/README_EN.md) | `Array`,`Dynamic Programming` | Hard | Weekly Contest 243 | | 1884 | [Egg Drop With 2 Eggs and N Floors](/solution/1800-1899/1884.Egg%20Drop%20With%202%20Eggs%20and%20N%20Floors/README_EN.md) | `Math`,`Dynamic Programming` | Medium | | -| 1885 | [Count Pairs in Two Arrays](/solution/1800-1899/1885.Count%20Pairs%20in%20Two%20Arrays/README_EN.md) | `Array`,`Binary Search`,`Sorting` | Medium | 🔒 | +| 1885 | [Count Pairs in Two Arrays](/solution/1800-1899/1885.Count%20Pairs%20in%20Two%20Arrays/README_EN.md) | `Array`,`Two Pointers`,`Binary Search`,`Sorting` | Medium | 🔒 | | 1886 | [Determine Whether Matrix Can Be Obtained By Rotation](/solution/1800-1899/1886.Determine%20Whether%20Matrix%20Can%20Be%20Obtained%20By%20Rotation/README_EN.md) | `Array`,`Matrix` | Easy | Weekly Contest 244 | | 1887 | [Reduction Operations to Make the Array Elements Equal](/solution/1800-1899/1887.Reduction%20Operations%20to%20Make%20the%20Array%20Elements%20Equal/README_EN.md) | `Array`,`Sorting` | Medium | Weekly Contest 244 | | 1888 | [Minimum Number of Flips to Make the Binary String Alternating](/solution/1800-1899/1888.Minimum%20Number%20of%20Flips%20to%20Make%20the%20Binary%20String%20Alternating/README_EN.md) | `Greedy`,`String`,`Dynamic Programming`,`Sliding Window` | Medium | Weekly Contest 244 | @@ -2591,7 +2591,7 @@ Press Control + F(or Command + F on | 2580 | [Count Ways to Group Overlapping Ranges](/solution/2500-2599/2580.Count%20Ways%20to%20Group%20Overlapping%20Ranges/README_EN.md) | `Array`,`Sorting` | Medium | Biweekly Contest 99 | | 2581 | [Count Number of Possible Root Nodes](/solution/2500-2599/2581.Count%20Number%20of%20Possible%20Root%20Nodes/README_EN.md) | `Tree`,`Depth-First Search`,`Hash Table`,`Dynamic Programming` | Hard | Biweekly Contest 99 | | 2582 | [Pass the Pillow](/solution/2500-2599/2582.Pass%20the%20Pillow/README_EN.md) | `Math`,`Simulation` | Easy | Weekly Contest 335 | -| 2583 | [Kth Largest Sum in a Binary Tree](/solution/2500-2599/2583.Kth%20Largest%20Sum%20in%20a%20Binary%20Tree/README_EN.md) | `Tree`,`Breadth-First Search`,`Binary Search` | Medium | Weekly Contest 335 | +| 2583 | [Kth Largest Sum in a Binary Tree](/solution/2500-2599/2583.Kth%20Largest%20Sum%20in%20a%20Binary%20Tree/README_EN.md) | `Tree`,`Breadth-First Search`,`Binary Tree`,`Sorting` | Medium | Weekly Contest 335 | | 2584 | [Split the Array to Make Coprime Products](/solution/2500-2599/2584.Split%20the%20Array%20to%20Make%20Coprime%20Products/README_EN.md) | `Array`,`Hash Table`,`Math`,`Number Theory` | Hard | Weekly Contest 335 | | 2585 | [Number of Ways to Earn Points](/solution/2500-2599/2585.Number%20of%20Ways%20to%20Earn%20Points/README_EN.md) | `Array`,`Dynamic Programming` | Hard | Weekly Contest 335 | | 2586 | [Count the Number of Vowel Strings in Range](/solution/2500-2599/2586.Count%20the%20Number%20of%20Vowel%20Strings%20in%20Range/README_EN.md) | `Array`,`String` | Easy | Weekly Contest 336 | @@ -2958,11 +2958,11 @@ Press Control + F(or Command + F on | 2947 | [Count Beautiful Substrings I](/solution/2900-2999/2947.Count%20Beautiful%20Substrings%20I/README_EN.md) | `String`,`Enumeration`,`Prefix Sum` | Medium | Weekly Contest 373 | | 2948 | [Make Lexicographically Smallest Array by Swapping Elements](/solution/2900-2999/2948.Make%20Lexicographically%20Smallest%20Array%20by%20Swapping%20Elements/README_EN.md) | `Union Find`,`Array`,`Sorting` | Medium | Weekly Contest 373 | | 2949 | [Count Beautiful Substrings II](/solution/2900-2999/2949.Count%20Beautiful%20Substrings%20II/README_EN.md) | `Hash Table`,`Math`,`String`,`Number Theory`,`Prefix Sum` | Hard | Weekly Contest 373 | -| 2950 | [Number of Divisible Substrings](/solution/2900-2999/2950.Number%20of%20Divisible%20Substrings/README_EN.md) | | Medium | 🔒 | -| 2951 | [Find the Peaks](/solution/2900-2999/2951.Find%20the%20Peaks/README_EN.md) | | Easy | Weekly Contest 374 | -| 2952 | [Minimum Number of Coins to be Added](/solution/2900-2999/2952.Minimum%20Number%20of%20Coins%20to%20be%20Added/README_EN.md) | | Medium | Weekly Contest 374 | -| 2953 | [Count Complete Substrings](/solution/2900-2999/2953.Count%20Complete%20Substrings/README_EN.md) | | Medium | Weekly Contest 374 | -| 2954 | [Count the Number of Infection Sequences](/solution/2900-2999/2954.Count%20the%20Number%20of%20Infection%20Sequences/README_EN.md) | | Hard | Weekly Contest 374 | +| 2950 | [Number of Divisible Substrings](/solution/2900-2999/2950.Number%20of%20Divisible%20Substrings/README_EN.md) | `Hash Table`,`String`,`Counting` | Medium | 🔒 | +| 2951 | [Find the Peaks](/solution/2900-2999/2951.Find%20the%20Peaks/README_EN.md) | `Array`,`Enumeration` | Easy | Weekly Contest 374 | +| 2952 | [Minimum Number of Coins to be Added](/solution/2900-2999/2952.Minimum%20Number%20of%20Coins%20to%20be%20Added/README_EN.md) | `Greedy`,`Array`,`Sorting` | Hard | Weekly Contest 374 | +| 2953 | [Count Complete Substrings](/solution/2900-2999/2953.Count%20Complete%20Substrings/README_EN.md) | `Hash Table`,`String`,`Sliding Window` | Medium | Weekly Contest 374 | +| 2954 | [Count the Number of Infection Sequences](/solution/2900-2999/2954.Count%20the%20Number%20of%20Infection%20Sequences/README_EN.md) | `Array`,`Math`,`Combinatorics` | Hard | Weekly Contest 374 | | 2955 | [Number of Same-End Substrings](/solution/2900-2999/2955.Number%20of%20Same-End%20Substrings/README_EN.md) | | Medium | 🔒 | ## Copyright diff --git a/solution/main.py b/solution/main.py index 21b6f2f4952cd..6b154320e04c6 100644 --- a/solution/main.py +++ b/solution/main.py @@ -108,7 +108,6 @@ def get_question_detail_en(self, question_title_slug: str, retry: int = 3) -> di def get_question_detail(self, question_title_slug: str, retry: int = 3) -> dict: """获取题目详情""" - print(question_title_slug) form1 = { "operationName": "globalData", "query": "query globalData {\n feature {\n questionTranslation\n subscription\n signUp\n "