You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 0030-substring-with-concatenation-of-all-words/README.md
+34-25Lines changed: 34 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,42 +1,52 @@
1
-
<h2><ahref="https://leetcode.com/problems/substring-with-concatenation-of-all-words/">30. Substring with Concatenation of All Words</a></h2><h3>Hard</h3><hr><div><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>
1
+
<h2><ahref="https://leetcode.com/problems/substring-with-concatenation-of-all-words">30. Substring with Concatenation of All Words</a></h2><h3>Hard</h3><hr><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>
2
2
3
-
<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>
3
+
<p>A <strong>concatenated string</strong> is a string that exactly contains all the strings of any permutation of <code>words</code> concatenated.</p>
4
4
5
5
<ul>
6
-
<li>For example, if <code>words = ["ab","cd","ef"]</code>, then <code>"abcdef"</code>, <code>"abefcd"</code>, <code>"cdabef"</code>, <code>"cdefab"</code>, <code>"efabcd"</code>, and <code>"efcdab"</code> are all concatenated strings. <code>"acdbef"</code> is not a concatenated substring because it is not the concatenation of any permutation of <code>words</code>.</li>
6
+
<li>For example, if <code>words = ["ab","cd","ef"]</code>, then <code>"abcdef"</code>, <code>"abefcd"</code>, <code>"cdabef"</code>, <code>"cdefab"</code>, <code>"efabcd"</code>, and <code>"efcdab"</code> are all concatenated strings. <code>"acdbef"</code> is not a concatenated string because it is not the concatenation of any permutation of <code>words</code>.</li>
7
7
</ul>
8
8
9
-
<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>
9
+
<p>Return an array of <em>the starting indices</em> of all the concatenated substrings in <code>s</code>. You can return the answer in <strong>any order</strong>.</p>
10
10
11
11
<p> </p>
12
12
<p><strongclass="example">Example 1:</strong></p>
13
13
14
-
<pre><strong>Input:</strong> s = "barfoothefoobarman", words = ["foo","bar"]
15
-
<strong>Output:</strong> [0,9]
16
-
<strong>Explanation:</strong> Since words.length == 2 and words[i].length == 3, the concatenated substring has to be of length 6.
17
-
The substring starting at 0 is "barfoo". It is the concatenation of ["bar","foo"] which is a permutation of words.
18
-
The substring starting at 9 is "foobar". It is the concatenation of ["foo","bar"] which is a permutation of words.
19
-
The output order does not matter. Returning [9,0] is fine too.
20
-
</pre>
14
+
<divclass="example-block">
15
+
<p><strong>Input:</strong> <spanclass="example-io">s = "barfoothefoobarman", words = ["foo","bar"]</span></p>
<p>The substring starting at 0 is <code>"barfoo"</code>. It is the concatenation of <code>["bar","foo"]</code> which is a permutation of <code>words</code>.<br />
22
+
The substring starting at 9 is <code>"foobar"</code>. It is the concatenation of <code>["foo","bar"]</code> which is a permutation of <code>words</code>.</p>
23
+
</div>
21
24
22
25
<p><strongclass="example">Example 2:</strong></p>
23
26
24
-
<pre><strong>Input:</strong> s = "wordgoodgoodgoodbestword", words = ["word","good","best","word"]
25
-
<strong>Output:</strong> []
26
-
<strong>Explanation:</strong> Since words.length == 4 and words[i].length == 4, the concatenated substring has to be of length 16.
27
-
There is no substring of length 16 in s that is equal to the concatenation of any permutation of words.
28
-
We return an empty array.
29
-
</pre>
27
+
<divclass="example-block">
28
+
<p><strong>Input:</strong> <spanclass="example-io">s = "wordgoodgoodgoodbestword", words = ["word","good","best","word"]</span></p>
<p>The substring starting at 6 is <code>"foobarthe"</code>. It is the concatenation of <code>["foo","bar","the"]</code>.<br />
47
+
The substring starting at 9 is <code>"barthefoo"</code>. It is the concatenation of <code>["bar","the","foo"]</code>.<br />
48
+
The substring starting at 12 is <code>"thefoobar"</code>. It is the concatenation of <code>["the","foo","bar"]</code>.</p>
49
+
</div>
40
50
41
51
<p> </p>
42
52
<p><strong>Constraints:</strong></p>
@@ -47,4 +57,3 @@ The substring starting at 12 is "thefoobar". It is the concatenation of ["the","
0 commit comments