Skip to content

Commit def45fc

Browse files
authored
feat: update lc problems (#2625)
1 parent 9f1c7ec commit def45fc

File tree

70 files changed

+283
-226
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+283
-226
lines changed

solution/0000-0099/0030.Substring with Concatenation of All Words/README_EN.md

+34-26
Original file line numberDiff line numberDiff line change
@@ -8,46 +8,54 @@
88

99
<p>You are given a string <code>s</code> and an array of strings <code>words</code>. All the strings of <code>words</code> are of <strong>the same length</strong>.</p>
1010

11-
<p>A <strong>concatenated substring</strong> in <code>s</code> is a substring that contains all the strings of any permutation of <code>words</code> concatenated.</p>
11+
<p>A <strong>concatenated string</strong>&nbsp;is a string that exactly contains all the strings of any permutation of <code>words</code> concatenated.</p>
1212

1313
<ul>
14-
<li>For example, if <code>words = [&quot;ab&quot;,&quot;cd&quot;,&quot;ef&quot;]</code>, then <code>&quot;abcdef&quot;</code>, <code>&quot;abefcd&quot;</code>, <code>&quot;cdabef&quot;</code>, <code>&quot;cdefab&quot;</code>, <code>&quot;efabcd&quot;</code>, and <code>&quot;efcdab&quot;</code> are all concatenated strings. <code>&quot;acdbef&quot;</code> is not a concatenated substring because it is not the concatenation of any permutation of <code>words</code>.</li>
14+
<li>For example, if <code>words = [&quot;ab&quot;,&quot;cd&quot;,&quot;ef&quot;]</code>, then <code>&quot;abcdef&quot;</code>, <code>&quot;abefcd&quot;</code>, <code>&quot;cdabef&quot;</code>, <code>&quot;cdefab&quot;</code>, <code>&quot;efabcd&quot;</code>, and <code>&quot;efcdab&quot;</code> are all concatenated strings. <code>&quot;acdbef&quot;</code> is not a concatenated string because it is not the concatenation of any permutation of <code>words</code>.</li>
1515
</ul>
1616

17-
<p>Return <em>the starting indices of all the concatenated substrings in </em><code>s</code>. You can return the answer in <strong>any order</strong>.</p>
17+
<p>Return an array of&nbsp;<em>the starting indices</em> of all the concatenated substrings in<em> </em><code>s</code>. You can return the answer in <strong>any order</strong>.</p>
1818

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

22-
<pre>
23-
<strong>Input:</strong> s = &quot;barfoothefoobarman&quot;, words = [&quot;foo&quot;,&quot;bar&quot;]
24-
<strong>Output:</strong> [0,9]
25-
<strong>Explanation:</strong> Since words.length == 2 and words[i].length == 3, the concatenated substring has to be of length 6.
26-
The substring starting at 0 is &quot;barfoo&quot;. It is the concatenation of [&quot;bar&quot;,&quot;foo&quot;] which is a permutation of words.
27-
The substring starting at 9 is &quot;foobar&quot;. It is the concatenation of [&quot;foo&quot;,&quot;bar&quot;] which is a permutation of words.
28-
The output order does not matter. Returning [9,0] is fine too.
29-
</pre>
22+
<div class="example-block">
23+
<p><strong>Input:</strong> <span class="example-io">s = &quot;barfoothefoobarman&quot;, words = [&quot;foo&quot;,&quot;bar&quot;]</span></p>
24+
25+
<p><strong>Output:</strong> <span class="example-io">[0,9]</span></p>
26+
27+
<p><strong>Explanation:</strong></p>
28+
29+
<p>The substring starting at 0 is <code>&quot;barfoo&quot;</code>. It is the concatenation of <code>[&quot;bar&quot;,&quot;foo&quot;]</code> which is a permutation of <code>words</code>.<br />
30+
The substring starting at 9 is <code>&quot;foobar&quot;</code>. It is the concatenation of <code>[&quot;foo&quot;,&quot;bar&quot;]</code> which is a permutation of <code>words</code>.<br />
31+
The output order does not matter. Returning <code>[9,0]</code> is fine too.</p>
32+
</div>
3033

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

33-
<pre>
34-
<strong>Input:</strong> s = &quot;wordgoodgoodgoodbestword&quot;, words = [&quot;word&quot;,&quot;good&quot;,&quot;best&quot;,&quot;word&quot;]
35-
<strong>Output:</strong> []
36-
<strong>Explanation:</strong> Since words.length == 4 and words[i].length == 4, the concatenated substring has to be of length 16.
37-
There is no substring of length 16 in s that is equal to the concatenation of any permutation of words.
38-
We return an empty array.
39-
</pre>
36+
<div class="example-block">
37+
<p><strong>Input:</strong> <span class="example-io">s = &quot;wordgoodgoodgoodbestword&quot;, words = [&quot;word&quot;,&quot;good&quot;,&quot;best&quot;,&quot;word&quot;]</span></p>
38+
39+
<p><strong>Output:</strong> <span class="example-io">[]</span></p>
40+
41+
<p><strong>Explanation:</strong></p>
42+
43+
<p>There is no concatenated substring.</p>
44+
</div>
4045

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

43-
<pre>
44-
<strong>Input:</strong> s = &quot;barfoofoobarthefoobarman&quot;, words = [&quot;bar&quot;,&quot;foo&quot;,&quot;the&quot;]
45-
<strong>Output:</strong> [6,9,12]
46-
<strong>Explanation:</strong> Since words.length == 3 and words[i].length == 3, the concatenated substring has to be of length 9.
47-
The substring starting at 6 is &quot;foobarthe&quot;. It is the concatenation of [&quot;foo&quot;,&quot;bar&quot;,&quot;the&quot;] which is a permutation of words.
48-
The substring starting at 9 is &quot;barthefoo&quot;. It is the concatenation of [&quot;bar&quot;,&quot;the&quot;,&quot;foo&quot;] which is a permutation of words.
49-
The substring starting at 12 is &quot;thefoobar&quot;. It is the concatenation of [&quot;the&quot;,&quot;foo&quot;,&quot;bar&quot;] which is a permutation of words.
50-
</pre>
48+
<div class="example-block">
49+
<p><strong>Input:</strong> <span class="example-io">s = &quot;barfoofoobarthefoobarman&quot;, words = [&quot;bar&quot;,&quot;foo&quot;,&quot;the&quot;]</span></p>
50+
51+
<p><strong>Output:</strong> <span class="example-io">[6,9,12]</span></p>
52+
53+
<p><strong>Explanation:</strong></p>
54+
55+
<p>The substring starting at 6 is <code>&quot;foobarthe&quot;</code>. It is the concatenation of <code>[&quot;foo&quot;,&quot;bar&quot;,&quot;the&quot;]</code>.<br />
56+
The substring starting at 9 is <code>&quot;barthefoo&quot;</code>. It is the concatenation of <code>[&quot;bar&quot;,&quot;the&quot;,&quot;foo&quot;]</code>.<br />
57+
The substring starting at 12 is <code>&quot;thefoobar&quot;</code>. It is the concatenation of <code>[&quot;the&quot;,&quot;foo&quot;,&quot;bar&quot;]</code>.</p>
58+
</div>
5159

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

solution/0100-0199/0133.Clone Graph/README.md

+16-19
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
<p>图中的每个节点都包含它的值 <code>val</code>(<code>int</code>) 和其邻居的列表(<code>list[Node]</code>)。</p>
1414

15-
<pre>class Node {
15+
<pre>
16+
class Node {
1617
public int val;
1718
public List&lt;Node&gt; neighbors;
1819
}</pre>
@@ -31,9 +32,10 @@
3132

3233
<p><strong>示例 1:</strong></p>
3334

34-
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/0100-0199/0133.Clone%20Graph/images/133_clone_graph_question.png" style="height: 500px; width: 500px;"></p>
35+
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/0100-0199/0133.Clone%20Graph/images/133_clone_graph_question.png" style="height: 500px; width: 500px;" /></p>
3536

36-
<pre><strong>输入:</strong>adjList = [[2,4],[1,3],[2,4],[1,3]]
37+
<pre>
38+
<strong>输入:</strong>adjList = [[2,4],[1,3],[2,4],[1,3]]
3739
<strong>输出:</strong>[[2,4],[1,3],[2,4],[1,3]]
3840
<strong>解释:
3941
</strong>图中有 4 个节点。
@@ -45,38 +47,33 @@
4547

4648
<p><strong>示例 2:</strong></p>
4749

48-
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/0100-0199/0133.Clone%20Graph/images/graph.png" style="height: 148px; width: 163px;"></p>
50+
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/0100-0199/0133.Clone%20Graph/images/graph.png" style="height: 148px; width: 163px;" /></p>
4951

50-
<pre><strong>输入:</strong>adjList = [[]]
52+
<pre>
53+
<strong>输入:</strong>adjList = [[]]
5154
<strong>输出:</strong>[[]]
5255
<strong>解释:</strong>输入包含一个空列表。该图仅仅只有一个值为 1 的节点,它没有任何邻居。
5356
</pre>
5457

5558
<p><strong>示例 3:</strong></p>
5659

57-
<pre><strong>输入:</strong>adjList = []
60+
<pre>
61+
<strong>输入:</strong>adjList = []
5862
<strong>输出:</strong>[]
5963
<strong>解释:</strong>这个图是空的,它不含任何节点。
6064
</pre>
6165

62-
<p><strong>示例 4:</strong></p>
63-
64-
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/0100-0199/0133.Clone%20Graph/images/graph-1.png" style="height: 133px; width: 272px;"></p>
65-
66-
<pre><strong>输入:</strong>adjList = [[2],[1]]
67-
<strong>输出:</strong>[[2],[1]]</pre>
68-
6966
<p>&nbsp;</p>
7067

7168
<p><strong>提示:</strong></p>
7269

73-
<ol>
74-
<li>节点数不超过 100 。</li>
75-
<li>每个节点值&nbsp;<code>Node.val</code> 都是唯一的,<code>1 &lt;= Node.val &lt;= 100</code></li>
76-
<li>无向图是一个<a href="https://baike.baidu.com/item/简单图/1680528?fr=aladdin" target="_blank">简单图</a>,这意味着图中没有重复的边,也没有自环。</li>
77-
<li>由于图是无向的,如果节点 <em>p</em> 是节点 <em>q</em> 的邻居,那么节点 <em>q</em> 也必须是节点 <em>p</em>&nbsp;的邻居。</li>
70+
<ul>
71+
<li>这张图中的节点数在 <code>[0, 100]</code>&nbsp;之间。</li>
72+
<li><code>1 &lt;= Node.val &lt;= 100</code></li>
73+
<li>每个节点值&nbsp;<code>Node.val</code> 都是唯一的,</li>
74+
<li>图中没有重复的边,也没有自环。</li>
7875
<li>图是连通图,你可以从给定节点访问到所有节点。</li>
79-
</ol>
76+
</ul>
8077

8178
## 解法
8279

solution/0400-0499/0418.Sentence Screen Fitting/README.md

+22-34
Original file line numberDiff line numberDiff line change
@@ -10,73 +10,61 @@
1010

1111
<p>给你一个 <code>rows x cols</code> 的屏幕和一个用 <strong>非空 </strong>的单词列表组成的句子,请你计算出给定句子可以在屏幕上完整显示的次数。</p>
1212

13-
<p><strong>注意:</strong></p>
14-
15-
<ol>
16-
<li>一个单词不能拆分成两行。</li>
17-
<li>单词在句子中的顺序必须保持不变。</li>
18-
<li><strong>在一行中 </strong>的两个连续单词必须用一个空格符分隔。</li>
19-
<li>句子中的单词总量不会超过 100。</li>
20-
<li>每个单词的长度大于 0 且不会超过 10。</li>
21-
<li>1 &le; <code>rows</code>, <code>cols</code> &le; 20,000.</li>
22-
</ol>
13+
<p>句子中的单词顺序必须保持不变,并且不能将一个单词分成两行。一行中的两个连续单词必须用空白分开。</p>
2314

2415
<p>&nbsp;</p>
2516

2617
<p><strong>示例 1:</strong></p>
2718

28-
<pre><strong>输入:</strong>
29-
rows = 2, cols = 8, 句子 sentence = [&quot;hello&quot;, &quot;world&quot;]
30-
31-
<strong>输出:</strong>
32-
1
33-
19+
<pre>
20+
<strong>输入:</strong>sentence = ["hello", "world"], rows = 2, cols = 8
21+
<strong>输出:</strong>1
3422
<strong>解释:</strong>
3523
hello---
3624
world---
37-
38-
<strong>字符 &#39;-&#39; 表示屏幕上的一个空白位置。</strong>
25+
字符 '-' 表示屏幕上的一个空白位置。
3926
</pre>
4027

4128
<p>&nbsp;</p>
4229

4330
<p><strong>示例 2:</strong></p>
4431

45-
<pre><strong>输入:</strong>
46-
rows = 3, cols = 6, 句子 sentence = [&quot;a&quot;, &quot;bcd&quot;, &quot;e&quot;]
47-
48-
<strong>输出:</strong>
49-
2
50-
32+
<pre>
33+
<strong>输入:</strong>sentence = ["a", "bcd", "e"], rows = 3, cols = 6
34+
<strong>输出:</strong>2
5135
<strong>解释:</strong>
5236
a-bcd-
5337
e-a---
5438
bcd-e-
55-
56-
<strong>字符 &#39;-&#39; 表示屏幕上的一个空白位置。</strong>
39+
字符 '-' 表示屏幕上的一个空白位置。
5740
</pre>
5841

5942
<p>&nbsp;</p>
6043

6144
<p><strong>示例 3:</strong></p>
6245

63-
<pre><strong>输入:</strong>
64-
rows = 4, cols = 5, 句子 sentence = [&quot;I&quot;, &quot;had&quot;, &quot;apple&quot;, &quot;pie&quot;]
65-
66-
<strong>输出:</strong>
67-
1
68-
46+
<pre>
47+
<strong>输入:</strong>sentence = ["I", "had", "apple", "pie"], rows = 4, cols = 5
48+
<strong>输出:</strong>1
6949
<strong>解释:</strong>
7050
I-had
7151
apple
7252
pie-I
7353
had--
74-
75-
<strong>字符 &#39;-&#39; 表示屏幕上的一个空白位置。</strong>
54+
字符 '-' 表示屏幕上的一个空白位置。
7655
</pre>
7756

7857
<p>&nbsp;</p>
7958

59+
<p><strong>提示:</strong></p>
60+
61+
<ul>
62+
<li><code>1 &lt;= sentence.length &lt;= 100</code></li>
63+
<li><code>1 &lt;= sentence[i].length &lt;= 10</code></li>
64+
<li><code>sentence[i]</code>&nbsp;由小写英文字母组成。</li>
65+
<li><code>1 &lt;= rows, cols &lt;= 2 * 10<sup>4</sup></code></li>
66+
</ul>
67+
8068
## 解法
8169

8270
### 方法一:贪心

solution/0800-0899/0842.Split Array into Fibonacci Sequence/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<pre>
3030
<strong>输入:</strong>num = "1101111"
3131
<strong>输出:</strong>[11,0,11,11]
32-
<strong>解释:</strong>输出[110,1,111]也可以。</pre>
32+
<strong>解释:</strong>输出 [110,1,111] 也可以。</pre>
3333

3434
<p><strong>示例 2:</strong></p>
3535

solution/1200-1299/1201.Ugly Number III/README.md

+8-15
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
[English Version](/solution/1200-1299/1201.Ugly%20Number%20III/README_EN.md)
44

5-
<!-- tags:数学,二分查找,数论 -->
5+
<!-- tags:数学,二分查找,组合数学,数论 -->
66

77
## 题目描述
88

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

11-
<p>给你四个整数:<code>n</code> 、<code>a</code> 、<code>b</code><code>c</code> ,请你设计一个算法来找出第 <code>n</code> 个丑数。</p>
11+
<p>丑数是可以被&nbsp;<code>a</code>&nbsp;<strong>或</strong>&nbsp;<code>b</code>&nbsp;<strong>或</strong> <code>c</code>&nbsp;整除的 <strong>正整数</strong> 。</p>
1212

13-
<p>丑数是可以被 <code>a</code> <strong>或</strong<code>b</code> <strong>或</strong> <code>c</code> 整除的 <strong>正整数</strong> 。</p>
13+
<p>给你四个整数:<code>n</code> 、<code>a</code> 、<code>b</code><code>c</code> ,请你设计一个算法来找出第&nbsp;<code>n</code>&nbsp;个丑数。</p>
1414

15-
<p> </p>
15+
<p>&nbsp;</p>
1616

1717
<p><strong>示例 1:</strong></p>
1818

@@ -37,21 +37,14 @@
3737
<strong>解释:</strong>丑数序列为 2, 4, 6, 8, 10, 11, 12, 13... 其中第 5 个是 10。
3838
</pre>
3939

40-
<p><strong>示例 4:</strong></p>
41-
42-
<pre>
43-
<strong>输入:</strong>n = 1000000000, a = 2, b = 217983653, c = 336916467
44-
<strong>输出:</strong>1999999984
45-
</pre>
46-
47-
<p> </p>
40+
<p>&nbsp;</p>
4841

4942
<p><strong>提示:</strong></p>
5043

5144
<ul>
52-
<li><code>1 <= n, a, b, c <= 10^9</code></li>
53-
<li><code>1 <= a * b * c <= 10^18</code></li>
54-
<li>本题结果在 <code>[1, 2 * 10^9]</code> 的范围内</li>
45+
<li><code>1 &lt;= n, a, b, c &lt;= 10<sup>9</sup></code></li>
46+
<li><code>1 &lt;= a * b * c &lt;= 10<sup>18</sup></code></li>
47+
<li>本题结果在&nbsp;<code>[1,&nbsp;2 * 10<sup>9</sup>]</code>&nbsp;的范围内</li>
5548
</ul>
5649

5750
## 解法

solution/1200-1299/1201.Ugly Number III/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[中文文档](/solution/1200-1299/1201.Ugly%20Number%20III/README.md)
44

5-
<!-- tags:Math,Binary Search,Number Theory -->
5+
<!-- tags:Math,Binary Search,Combinatorics,Number Theory -->
66

77
## Description
88

solution/1700-1799/1764.Form Array by Concatenating Subarrays of Another Array/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[English Version](/solution/1700-1799/1764.Form%20Array%20by%20Concatenating%20Subarrays%20of%20Another%20Array/README_EN.md)
44

5-
<!-- tags:贪心,数组,字符串匹配 -->
5+
<!-- tags:贪心,数组,双指针,字符串匹配 -->
66

77
## 题目描述
88

solution/1700-1799/1764.Form Array by Concatenating Subarrays of Another Array/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[中文文档](/solution/1700-1799/1764.Form%20Array%20by%20Concatenating%20Subarrays%20of%20Another%20Array/README.md)
44

5-
<!-- tags:Greedy,Array,String Matching -->
5+
<!-- tags:Greedy,Array,Two Pointers,String Matching -->
66

77
## Description
88

solution/1700-1799/1766.Tree of Coprimes/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[English Version](/solution/1700-1799/1766.Tree%20of%20Coprimes/README_EN.md)
44

5-
<!-- tags:树,深度优先搜索,广度优先搜索,数组,数学,数论 -->
5+
<!-- tags:树,数组,数学,数论 -->
66

77
## 题目描述
88

solution/1700-1799/1766.Tree of Coprimes/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[中文文档](/solution/1700-1799/1766.Tree%20of%20Coprimes/README.md)
44

5-
<!-- tags:Tree,Depth-First Search,Breadth-First Search,Array,Math,Number Theory -->
5+
<!-- tags:Tree,Array,Math,Number Theory -->
66

77
## Description
88

solution/2500-2599/2506.Count Pairs Of Similar Strings/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[English Version](/solution/2500-2599/2506.Count%20Pairs%20Of%20Similar%20Strings/README_EN.md)
44

5-
<!-- tags:数组,哈希表,字符串 -->
5+
<!-- tags:位运算,数组,哈希表,字符串 -->
66

77
## 题目描述
88

solution/2500-2599/2506.Count Pairs Of Similar Strings/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[中文文档](/solution/2500-2599/2506.Count%20Pairs%20Of%20Similar%20Strings/README.md)
44

5-
<!-- tags:Array,Hash Table,String -->
5+
<!-- tags:Bit Manipulation,Array,Hash Table,String -->
66

77
## Description
88

solution/2500-2599/2507.Smallest Value After Replacing With Sum of Prime Factors/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[English Version](/solution/2500-2599/2507.Smallest%20Value%20After%20Replacing%20With%20Sum%20of%20Prime%20Factors/README_EN.md)
44

5-
<!-- tags:数学,数论 -->
5+
<!-- tags:数学,数论,模拟 -->
66

77
## 题目描述
88

solution/2500-2599/2507.Smallest Value After Replacing With Sum of Prime Factors/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[中文文档](/solution/2500-2599/2507.Smallest%20Value%20After%20Replacing%20With%20Sum%20of%20Prime%20Factors/README.md)
44

5-
<!-- tags:Math,Number Theory -->
5+
<!-- tags:Math,Number Theory,Simulation -->
66

77
## Description
88

solution/2500-2599/2509.Cycle Length Queries in a Tree/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[English Version](/solution/2500-2599/2509.Cycle%20Length%20Queries%20in%20a%20Tree/README_EN.md)
44

5-
<!-- tags:树,二叉树 -->
5+
<!-- tags:树,数组,二叉树 -->
66

77
## 题目描述
88

0 commit comments

Comments
 (0)