Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add new lc problem #2069

Merged
merged 2 commits into from
Dec 7, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
docs: update
acbin committed Dec 7, 2023
commit 35120d381a3f57b44e78988724d7d9671f5fc7e3
Original file line number Diff line number Diff line change
@@ -20,8 +20,8 @@
<p><strong>示例 2:</strong></p>

<pre>
<strong>输入:</strong> s = "God Ding"
<strong>输出:</strong>"doG gniD"
<strong>输入:</strong> s = "Mr Ding"
<strong>输出:</strong>"rM gniD"
</pre>

<p>&nbsp;</p>
17 changes: 12 additions & 5 deletions solution/0500-0599/0557.Reverse Words in a String III/README_EN.md
Original file line number Diff line number Diff line change
@@ -8,12 +8,19 @@

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>
<pre><strong>Input:</strong> s = "Let's take LeetCode contest"
<strong>Output:</strong> "s'teL ekat edoCteeL tsetnoc"
</pre><p><strong class="example">Example 2:</strong></p>
<pre><strong>Input:</strong> s = "God Ding"
<strong>Output:</strong> "doG gniD"

<pre>
<strong>Input:</strong> s = &quot;Let&#39;s take LeetCode contest&quot;
<strong>Output:</strong> &quot;s&#39;teL ekat edoCteeL tsetnoc&quot;
</pre>

<p><strong class="example">Example 2:</strong></p>

<pre>
<strong>Input:</strong> s = &quot;Mr Ding&quot;
<strong>Output:</strong> &quot;rM gniD&quot;
</pre>

<p>&nbsp;</p>
<p><strong>Constraints:</strong></p>

8 changes: 4 additions & 4 deletions solution/1000-1099/1084.Sales Analysis III/README.md
Original file line number Diff line number Diff line change
@@ -76,10 +76,10 @@ Product table:
| 1 | S8 |
+-------------+--------------+
<strong>解释:</strong>
id为1的产品仅在2019年春季销售
id为2的产品在2019年春季销售,但也在2019年春季之后销售
id 3的产品在2019年春季之后销售
我们只退回产品1,因为它是2019年春季才销售的产品。</pre>
id 为 1 的产品仅在 2019 年春季销售
id 为 2 的产品在 2019 年春季销售,但也在 2019 年春季之后销售
id 为 3 的产品在 2019 年春季之后销售
我们只返回 id 为 1 的产品,因为它是 2019 年春季才销售的产品。</pre>

## 解法

2 changes: 1 addition & 1 deletion solution/1500-1599/1522.Diameter of N-Ary Tree/README.md
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@

<!-- 这里写题目描述 -->

<p>给定一棵 N 叉树的根节点&nbsp;<code>root</code>&nbsp;,计算这棵树的直径长度。</p>
<p>给定一棵 <code>N 叉树</code> 的根节点&nbsp;<code>root</code>&nbsp;,计算这棵树的直径长度。</p>

<p>N 叉树的直径指的是树中任意两个节点间路径中<strong> 最长 </strong>路径的长度。这条路径可能经过根节点,也可能不经过根节点。</p>

Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@

## Description

<p>Given a <code>root</code> of an <a href="https://leetcode.com/articles/introduction-to-n-ary-trees/" target="_blank">N-ary tree</a>, you need to compute the length of the diameter of the tree.</p>
<p>Given a <code>root</code> of an <code>N-ary tree</code>, you need to compute the length of the diameter of the tree.</p>

<p>The diameter of an N-ary tree is the length of the <strong>longest</strong> path between any two nodes in the tree. This path may or may not pass through the root.</p>

Original file line number Diff line number Diff line change
@@ -26,8 +26,8 @@
<p><strong>注意:</strong></p>

<ul>
<li>每种水果最多只能购买一次。</li>
<li>一些水果你最多只能用一次折价券。</li>
<li>每个水果最多只能购买一次。</li>
<li>一个水果你最多只能用一次折价券。</li>
</ul>

<p>&nbsp;</p>
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@

<p>给定一个由正整数组成的数组 <code>nums</code>。</p>

<p>将数组拆分为&nbsp;<strong>一个或多个&nbsp;</strong>不相连的子数组,如下所示:</p>
<p>将数组拆分为&nbsp;<strong>一个或多个&nbsp;</strong>互相不覆盖的子数组,如下所示:</p>

<ul>
<li>数组中的每个元素都&nbsp;<strong>只属于一个&nbsp;</strong>子数组,并且</li>
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@

<p>从下标 <code>0</code> 开始遍历 <code>arr</code> 中的每个下标 <code>i</code> ,并将包含整数 <code>arr[i]</code> 的 <code>mat</code> 单元格涂色。</p>

<p>请你找出 <code>arr</code> 中在 <code>mat</code> 的某一行或某一列上都被涂色且下标最小的元素,并返回其下标 <code>i</code> 。</p>
<p>请你找出 <code>arr</code> 中第一个使得&nbsp;<code>mat</code> 的某一行或某一列都被涂色的元素,并返回其下标 <code>i</code> 。</p>

<p>&nbsp;</p>

41 changes: 27 additions & 14 deletions solution/2700-2799/2715.Timeout Cancellation/README_EN.md
Original file line number Diff line number Diff line change
@@ -6,53 +6,66 @@

<p>Given a function <code>fn</code>, an array of&nbsp;arguments&nbsp;<code>args</code>, and a timeout&nbsp;<code>t</code>&nbsp;in milliseconds, return a cancel function <code>cancelFn</code>.</p>

<p>After a delay of&nbsp;<code>t</code>,&nbsp;<code>fn</code>&nbsp;should be called with <code>args</code> passed as parameters <strong>unless</strong> <code>cancelFn</code> was invoked before the delay of <code>t</code> milliseconds elapses, specifically at <code>cancelT</code>&nbsp;ms.&nbsp;In that case,&nbsp;<code>fn</code> should never be called.</p>
<p>After a delay of <code>cancelT</code>, the returned cancel function <code>cancelFn</code> will be invoked.</p>

<pre>
setTimeout(cancelFn, cancelT)
</pre>

<p>Initially, the execution of the function <code>fn</code> should be delayed by <code>t</code> milliseconds.</p>

<p>If, before the delay of <code>t</code> milliseconds, the function <code>cancelFn</code> is invoked, it should cancel the delayed execution of <code>fn</code>. Otherwise, if <code>cancelFn</code> is not invoked within the specified delay <code>t</code>, <code>fn</code> should be executed with the provided <code>args</code> as arguments.</p>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<pre>
<strong>Input:</strong> fn = (x) =&gt; x * 5, args = [2], t = 20, cancelT = 50
<strong>Input:</strong> fn = (x) =&gt; x * 5, args = [2], t = 20
<strong>Output:</strong> [{&quot;time&quot;: 20, &quot;returned&quot;: 10}]
<strong>Explanation:</strong>
const result = []
const cancelT = 50;
const result = [];

const fn = (x) =&gt; x * 5
const fn = (x) =&gt; x * 5;

const start = performance.now()&nbsp;
const start = performance.now();

const log = (...argsArr) =&gt; {
const diff = Math.floor(performance.now() - start);
result.push({&quot;time&quot;: diff, &quot;returned&quot;: fn(...argsArr)})
result.push({&quot;time&quot;: diff, &quot;returned&quot;: fn(...argsArr)});
}
&nbsp; &nbsp;&nbsp;
const cancel = cancellable(log, [2], 20);

const maxT = Math.max(t, 50)
const maxT = Math.max(t, 50);
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
setTimeout(cancel, cancelT)
setTimeout(cancel, cancelT);

setTimeout(() =&gt; {
&nbsp; &nbsp; console.log(result) // [{&quot;time&quot;:20,&quot;returned&quot;:10}]
}, 65)
&nbsp; &nbsp; console.log(result); // [{&quot;time&quot;:20,&quot;returned&quot;:10}]
}, 65);

The cancellation was scheduled to occur after a delay of cancelT (50ms), which happened after the execution of fn(2) at 20ms.
</pre>

<p><strong class="example">Example 2:</strong></p>

<pre>
<strong>Input:</strong> fn = (x) =&gt; x**2, args = [2], t = 100, cancelT = 50
<strong>Input:</strong> fn = (x) =&gt; x**2, args = [2], t = 100
<strong>Output:</strong> []
<strong>Explanation:</strong> 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.
<strong>Explanation:</strong>
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.
</pre>

<p><strong class="example">Example 3:</strong></p>

<pre>
<strong>Input:</strong> fn = (x1, x2) =&gt; x1 * x2, args = [2,4], t = 30, cancelT = 100
<strong>Input:</strong> fn = (x1, x2) =&gt; x1 * x2, args = [2,4], t = 30
<strong>Output:</strong> [{&quot;time&quot;: 30, &quot;returned&quot;: 8}]
<strong>Explanation: </strong>The cancellation was scheduled to occur after a delay of cancelT (100ms), which happened after the execution of fn(2,4) at 30ms.
<strong>Explanation:
</strong>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.
</pre>

<p>&nbsp;</p>
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@

<p>返回执行任意次操作后能得到的 <strong>字典序最小的数组</strong><em> </em>。</p>

<p>如果在数组 <code>a</code> 和数组 <code>b</code> 第一个不同的位置上,数组 <code>a</code> 中的对应字符比数组 <code>b</code> 中的对应字符的字典序更小,则认为数组 <code>a</code> 就比数组 <code>b</code> 字典序更小。例如,数组 <code>[2,10,3]</code> 比数组 <code>[10,2,3]</code> 字典序更小,下标 <code>0</code> 处是两个数组第一个不同的位置,且 <code>2 &lt; 10</code> 。</p>
<p>如果在数组 <code>a</code> 和数组 <code>b</code> 第一个不同的位置上,数组 <code>a</code> 中的对应元素比数组 <code>b</code> 中的对应元素的字典序更小,则认为数组 <code>a</code> 就比数组 <code>b</code> 字典序更小。例如,数组 <code>[2,10,3]</code> 比数组 <code>[10,2,3]</code> 字典序更小,下标 <code>0</code> 处是两个数组第一个不同的位置,且 <code>2 &lt; 10</code> 。</p>

<p>&nbsp;</p>

16 changes: 8 additions & 8 deletions solution/README.md
Original file line number Diff line number Diff line change
@@ -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) | | 中等 | 🔒 |

## 版权
Loading