1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/将单词恢复初始状态所需的最短时间 II [minimum-time-to-revert-word-to-initial-state-ii].html
2024-02-09 01:05:41 +08:00

57 lines
2.1 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>给你一个下标从 <strong>0</strong> 开始的字符串 <code>word</code> 和一个整数 <code>k</code></p>
<p>在每一秒,你必须执行以下操作:</p>
<ul>
<li>移除 <code>word</code> 的前 <code>k</code> 个字符。</li>
<li><code>word</code> 的末尾添加 <code>k</code> 个任意字符。</li>
</ul>
<p><strong>注意 </strong>添加的字符不必和移除的字符相同。但是,必须在每一秒钟都执行 <strong>两种 </strong>操作。</p>
<p>返回将 <code>word</code> 恢复到其 <strong>初始 </strong>状态所需的 <strong>最短 </strong>时间(该时间必须大于零)。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<pre>
<strong>输入:</strong>word = "abacaba", k = 3
<strong>输出:</strong>2
<strong>解释:</strong>
第 1 秒,移除 word 的前缀 "aba",并在末尾添加 "bac" 。因此word 变为 "cababac"。
第 2 秒,移除 word 的前缀 "cab",并在末尾添加 "aba" 。因此word 变为 "abacaba" 并恢复到始状态。
可以证明2 秒是 word 恢复到其初始状态所需的最短时间。
</pre>
<p><strong class="example">示例 2</strong></p>
<pre>
<strong>输入:</strong>word = "abacaba", k = 4
<strong>输出:</strong>1
<strong>解释:
</strong>第 1 秒,移除 word 的前缀 "abac",并在末尾添加 "caba" 。因此word 变为 "abacaba" 并恢复到初始状态。
可以证明1 秒是 word 恢复到其初始状态所需的最短时间。
</pre>
<p><strong class="example">示例 3</strong></p>
<pre>
<strong>输入:</strong>word = "abcbabcd", k = 2
<strong>输出:</strong>4
<strong>解释:</strong>
每一秒,我们都移除 word 的前 2 个字符,并在 word 末尾添加相同的字符。
4 秒后word 变为 "abcbabcd" 并恢复到初始状态。
可以证明4 秒是 word 恢复到其初始状态所需的最短时间。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= word.length &lt;= 10<sup>6</sup></code></li>
<li><code>1 &lt;= k &lt;= word.length</code></li>
<li><code>word</code>仅由小写英文字母组成。</li>
</ul>