mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
52 lines
2.1 KiB
HTML
52 lines
2.1 KiB
HTML
|
<p>给你两个长度都为 <code>n</code> 的字符串 <code>s</code> 和 <code>t</code> 。你可以对字符串 <code>s</code> 执行以下操作:</p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li>将 <code>s</code> 长度为 <code>l</code> (<code>0 < l < n</code>)的 <strong>后缀字符串</strong> 删除,并将它添加在 <code>s</code> 的开头。<br />
|
|||
|
比方说,<code>s = 'abcd'</code> ,那么一次操作中,你可以删除后缀 <code>'cd'</code> ,并将它添加到 <code>s</code> 的开头,得到 <code>s = 'cdab'</code> 。</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<p>给你一个整数 <code>k</code> ,请你返回 <strong>恰好</strong> <code>k</code> 次操作将<em> </em><code>s</code> 变为<em> </em><code>t</code> 的方案数。</p>
|
|||
|
|
|||
|
<p>由于答案可能很大,返回答案对 <code>10<sup>9</sup> + 7</code> <strong>取余</strong> 后的结果。</p>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong class="example">示例 1:</strong></p>
|
|||
|
|
|||
|
<pre>
|
|||
|
<b>输入:</b>s = "abcd", t = "cdab", k = 2
|
|||
|
<b>输出:</b>2
|
|||
|
<b>解释:</b>
|
|||
|
第一种方案:
|
|||
|
第一次操作,选择 index = 3 开始的后缀,得到 s = "dabc" 。
|
|||
|
第二次操作,选择 index = 3 开始的后缀,得到 s = "cdab" 。
|
|||
|
|
|||
|
第二种方案:
|
|||
|
第一次操作,选择 index = 1 开始的后缀,得到 s = "bcda" 。
|
|||
|
第二次操作,选择 index = 1 开始的后缀,得到 s = "cdab" 。
|
|||
|
</pre>
|
|||
|
|
|||
|
<p><strong class="example">示例 2:</strong></p>
|
|||
|
|
|||
|
<pre>
|
|||
|
<b>输入:</b>s = "ababab", t = "ababab", k = 1
|
|||
|
<b>输出:</b>2
|
|||
|
<b>解释:</b>
|
|||
|
第一种方案:
|
|||
|
选择 index = 2 开始的后缀,得到 s = "ababab" 。
|
|||
|
|
|||
|
第二种方案:
|
|||
|
选择 index = 4 开始的后缀,得到 s = "ababab" 。
|
|||
|
</pre>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>提示:</strong></p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li><code>2 <= s.length <= 5 * 10<sup>5</sup></code></li>
|
|||
|
<li><code>1 <= k <= 10<sup>15</sup></code></li>
|
|||
|
<li><code>s.length == t.length</code></li>
|
|||
|
<li><code>s</code> 和 <code>t</code> 都只包含小写英文字母。</li>
|
|||
|
</ul>
|