diff --git a/main.py b/main.py index 5970d052d393f..7e95c1a89dc01 100644 --- a/main.py +++ b/main.py @@ -149,11 +149,12 @@ def get_paths(dirs: str, m: int): break j = content.find(end) codes = content[i + len(start) : j].strip() - res = re.findall(r"```(.+?)\n(.+?)\n```", codes, re.DOTALL) + res = re.findall(r"```(.*?)\n(.*?)\n```", codes, re.S) result = [] if res: for lang, code in res: name = mapping.get(lang) + code = code or '' # 需要将 code 缩进 4 个空格 code = code.replace("\n", "\n ") code_snippet = ( diff --git a/solution/3000-3099/3018.Maximum Number of Removal Queries That Can Be Processed I/README.md b/solution/3000-3099/3018.Maximum Number of Removal Queries That Can Be Processed I/README.md new file mode 100644 index 0000000000000..fdf9f19fa22ae --- /dev/null +++ b/solution/3000-3099/3018.Maximum Number of Removal Queries That Can Be Processed I/README.md @@ -0,0 +1,102 @@ +# [3018. Maximum Number of Removal Queries That Can Be Processed I](https://leetcode.cn/problems/maximum-number-of-removal-queries-that-can-be-processed-i) + +[English Version](/solution/3000-3099/3018.Maximum%20Number%20of%20Removal%20Queries%20That%20Can%20Be%20Processed%20I/README_EN.md) + +## 题目描述 + + + +
You are given a 0-indexed array nums
and a 0-indexed array queries
.
You can do the following operation at the beginning at most once:
+ +nums
with a subsequence of nums
.We start processing queries in the given order; for each query, we do the following:
+ +nums
is less than queries[i]
, the processing of queries ends.nums
if it is greater than or equal to queries[i]
, and we remove the chosen element from nums
.Return the maximum number of queries that can be processed by doing the operation optimally.
+ ++
Example 1:
+ ++Input: nums = [1,2,3,4,5], queries = [1,2,3,4,6] +Output: 4 +Explanation: We don't do any operation and process the queries as follows: +1- We choose and remove nums[0] since 1 <= 1, then nums becomes [2,3,4,5]. +2- We choose and remove nums[0] since 2 <= 2, then nums becomes [3,4,5]. +3- We choose and remove nums[0] since 3 <= 3, then nums becomes [4,5]. +4- We choose and remove nums[0] since 4 <= 4, then nums becomes [5]. +5- We can not choose any elements from nums since they are not greater than or equal to 5. +Hence, the answer is 4. +It can be shown that we can't process more than 4 queries. ++ +
Example 2:
+ ++Input: nums = [2,3,2], queries = [2,2,3] +Output: 3 +Explanation: We don't do any operation and process the queries as follows: +1- We choose and remove nums[0] since 2 <= 2, then nums becomes [3,2]. +2- We choose and remove nums[1] since 2 <= 2, then nums becomes [3]. +3- We choose and remove nums[0] since 3 <= 3, then nums becomes []. +Hence, the answer is 3. +It can be shown that we can't process more than 3 queries. ++ +
Example 3:
+ ++Input: nums = [3,4,3], queries = [4,3,2] +Output: 2 +Explanation: First we replace nums with the subsequence of nums [4,3]. +Then we can process the queries as follows: +1- We choose and remove nums[0] since 4 <= 4, then nums becomes [3]. +2- We choose and remove nums[0] since 3 <= 3, then nums becomes []. +3- We can not process any more queries since nums is empty. +Hence, the answer is 2. +It can be shown that we can't process more than 2 queries. ++ +
+
Constraints:
+ +1 <= nums.length <= 1000
1 <= queries.length <= 1000
1 <= nums[i], queries[i] <= 109
You are given a 0-indexed array nums
and a 0-indexed array queries
.
You can do the following operation at the beginning at most once:
+ +nums
with a subsequence of nums
.We start processing queries in the given order; for each query, we do the following:
+ +nums
is less than queries[i]
, the processing of queries ends.nums
if it is greater than or equal to queries[i]
, and we remove the chosen element from nums
.Return the maximum number of queries that can be processed by doing the operation optimally.
+ ++
Example 1:
+ ++Input: nums = [1,2,3,4,5], queries = [1,2,3,4,6] +Output: 4 +Explanation: We don't do any operation and process the queries as follows: +1- We choose and remove nums[0] since 1 <= 1, then nums becomes [2,3,4,5]. +2- We choose and remove nums[0] since 2 <= 2, then nums becomes [3,4,5]. +3- We choose and remove nums[0] since 3 <= 3, then nums becomes [4,5]. +4- We choose and remove nums[0] since 4 <= 4, then nums becomes [5]. +5- We can not choose any elements from nums since they are not greater than or equal to 5. +Hence, the answer is 4. +It can be shown that we can't process more than 4 queries. ++ +
Example 2:
+ ++Input: nums = [2,3,2], queries = [2,2,3] +Output: 3 +Explanation: We don't do any operation and process the queries as follows: +1- We choose and remove nums[0] since 2 <= 2, then nums becomes [3,2]. +2- We choose and remove nums[1] since 2 <= 2, then nums becomes [3]. +3- We choose and remove nums[0] since 3 <= 3, then nums becomes []. +Hence, the answer is 3. +It can be shown that we can't process more than 3 queries. ++ +
Example 3:
+ ++Input: nums = [3,4,3], queries = [4,3,2] +Output: 2 +Explanation: First we replace nums with the subsequence of nums [4,3]. +Then we can process the queries as follows: +1- We choose and remove nums[0] since 4 <= 4, then nums becomes [3]. +2- We choose and remove nums[0] since 3 <= 3, then nums becomes []. +3- We can not process any more queries since nums is empty. +Hence, the answer is 2. +It can be shown that we can't process more than 2 queries. ++ +
+
Constraints:
+ +1 <= nums.length <= 1000
1 <= queries.length <= 1000
1 <= nums[i], queries[i] <= 109