2023-07-16 12:28:13 +08:00
|
|
|
|
<p>给你一个字符串 <code>word</code> 和一个字符串数组 <code>forbidden</code> 。</p>
|
|
|
|
|
|
|
|
|
|
<p>如果一个字符串不包含 <code>forbidden</code> 中的任何字符串,我们称这个字符串是 <strong>合法</strong> 的。</p>
|
|
|
|
|
|
|
|
|
|
<p>请你返回字符串 <code>word</code> 的一个 <strong>最长合法子字符串</strong> 的长度。</p>
|
|
|
|
|
|
|
|
|
|
<p><strong>子字符串</strong> 指的是一个字符串中一段连续的字符,它可以为空。</p>
|
|
|
|
|
|
|
|
|
|
<p> </p>
|
|
|
|
|
|
|
|
|
|
<p><strong>示例 1:</strong></p>
|
|
|
|
|
|
2023-12-09 18:42:21 +08:00
|
|
|
|
<pre>
|
|
|
|
|
<b>输入:</b>word = "cbaaaabc", forbidden = ["aaa","cb"]
|
2023-07-16 12:28:13 +08:00
|
|
|
|
<b>输出:</b>4
|
2023-12-09 18:42:21 +08:00
|
|
|
|
<b>解释:</b>总共有 11 个合法子字符串:"c", "b", "a", "ba", "aa", "bc", "baa", "aab", "ab", "abc" 和 "aabc"。最长合法子字符串的长度为 4 。
|
2023-07-16 12:28:13 +08:00
|
|
|
|
其他子字符串都要么包含 "aaa" ,要么包含 "cb" 。</pre>
|
|
|
|
|
|
|
|
|
|
<p><strong>示例 2:</strong></p>
|
|
|
|
|
|
2023-12-09 18:42:21 +08:00
|
|
|
|
<pre>
|
|
|
|
|
<b>输入:</b>word = "leetcode", forbidden = ["de","le","e"]
|
2023-07-16 12:28:13 +08:00
|
|
|
|
<strong>输出:</strong>4
|
|
|
|
|
<b>解释:</b>总共有 11 个合法子字符串:"l" ,"t" ,"c" ,"o" ,"d" ,"tc" ,"co" ,"od" ,"tco" ,"cod" 和 "tcod" 。最长合法子字符串的长度为 4 。
|
|
|
|
|
所有其他子字符串都至少包含 "de" ,"le" 和 "e" 之一。
|
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
|
|
<p> </p>
|
|
|
|
|
|
|
|
|
|
<p><strong>提示:</strong></p>
|
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
<li><code>1 <= word.length <= 10<sup>5</sup></code></li>
|
|
|
|
|
<li><code>word</code> 只包含小写英文字母。</li>
|
|
|
|
|
<li><code>1 <= forbidden.length <= 10<sup>5</sup></code></li>
|
|
|
|
|
<li><code>1 <= forbidden[i].length <= 10</code></li>
|
|
|
|
|
<li><code>forbidden[i]</code> 只包含小写英文字母。</li>
|
|
|
|
|
</ul>
|