1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/对字母串可执行的最大删除数 [maximum-deletions-on-a-string].html
2022-10-07 21:03:28 +08:00

55 lines
2.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>给你一个仅由小写英文字母组成的字符串 <code>s</code> 。在一步操作中,你可以:</p>
<ul>
<li>删除 <strong>整个字符串</strong> <code>s</code> ,或者</li>
<li>对于满足&nbsp;<code>1 &lt;= i &lt;= s.length / 2</code> 的任意 <code>i</code> ,如果 <code>s</code> 中的 <strong></strong> <code>i</code> 个字母和接下来的 <code>i</code> 个字母 <strong>相等</strong> ,删除 <strong></strong> <code>i</code> 个字母。</li>
</ul>
<p>例如,如果 <code>s = "ababc"</code> ,那么在一步操作中,你可以删除 <code>s</code> 的前两个字母得到 <code>"abc"</code> ,因为 <code>s</code> 的前两个字母和接下来的两个字母都等于 <code>"ab"</code></p>
<p>返回删除 <code>s</code> 所需的最大操作数。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>s = "abcabcdabc"
<strong>输出:</strong>2
<strong>解释:</strong>
- 删除前 3 个字母("abc"),因为它们和接下来 3 个字母相等。现在s = "abcdabc"。
- 删除全部字母。
一共用了 2 步操作,所以返回 2 。可以证明 2 是所需的最大操作数。
注意,在第二步操作中无法再次删除 "abc" ,因为 "abc" 的下一次出现并不是位于接下来的 3 个字母。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>s = "aaabaab"
<strong>输出:</strong>4
<strong>解释:</strong>
- 删除第一个字母("a"因为它和接下来的字母相等。现在s = "aabaab"。
- 删除前 3 个字母("aab"),因为它们和接下来 3 个字母相等。现在s = "aab"。
- 删除第一个字母("a"因为它和接下来的字母相等。现在s = "ab"。
- 删除全部字母。
一共用了 4 步操作,所以返回 4 。可以证明 4 是所需的最大操作数。
</pre>
<p><strong>示例 3</strong></p>
<pre>
<strong>输入:</strong>s = "aaaaa"
<strong>输出:</strong>5
<strong>解释:</strong>在每一步操作中,都可以仅删除 s 的第一个字母。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= s.length &lt;= 4000</code></li>
<li><code>s</code> 仅由小写英文字母组成</li>
</ul>