mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
51 lines
2.4 KiB
HTML
51 lines
2.4 KiB
HTML
<p>给你两个字符串 <code>s</code> 和 <code>t</code> ,你的目标是在 <code>k</code> 次操作以内把字符串 <code>s</code> 转变成 <code>t</code> 。</p>
|
||
|
||
<p>在第 <code>i</code> 次操作时(<code>1 <= i <= k</code>),你可以选择进行如下操作:</p>
|
||
|
||
<ul>
|
||
<li>选择字符串 <code>s</code> 中满足 <code>1 <= j <= s.length</code> 且之前未被选过的任意下标 <code>j</code> (下标从 1 开始),并将此位置的字符切换 <code>i</code> 次。</li>
|
||
<li>不进行任何操作。</li>
|
||
</ul>
|
||
|
||
<p>切换 1 个字符的意思是用字母表中该字母的下一个字母替换它(字母表环状接起来,所以 <code>'z'</code> 切换后会变成 <code>'a'</code>)。第 <code>i</code> 次操作意味着该字符应切换 <code>i</code> 次</p>
|
||
|
||
<p>请记住任意一个下标 <code>j</code> 最多只能被操作 1 次。</p>
|
||
|
||
<p>如果在不超过 <code>k</code> 次操作内可以把字符串 <code>s</code> 转变成 <code>t</code> ,那么请你返回 <code>true</code> ,否则请你返回 <code>false</code> 。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>s = "input", t = "ouput", k = 9
|
||
<strong>输出:</strong>true
|
||
<strong>解释:</strong>第 6 次操作时,我们将 'i' 切换 6 次得到 'o' 。第 7 次操作时,我们将 'n' 切换 7 次得到 'u' 。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>s = "abc", t = "bcd", k = 10
|
||
<strong>输出:</strong>false
|
||
<strong>解释:</strong>我们需要将每个字符切换 1 次才能得到 t 。我们可以在第 1 次操作时将 'a' 切换成 'b' ,但另外 2 个字母在剩余操作中无法再转变为 t 中对应字母。
|
||
</pre>
|
||
|
||
<p><strong>示例 3:</strong></p>
|
||
|
||
<pre>
|
||
<strong>输入:</strong>s = "aab", t = "bbb", k = 27
|
||
<strong>输出:</strong>true
|
||
<strong>解释:</strong>第 1 次操作时,我们将第一个 'a' 切换 1 次得到 'b' 。在第 27 次操作时,我们将第二个字母 'a' 切换 27 次得到 'b' 。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= s.length, t.length <= 10^5</code></li>
|
||
<li><code>0 <= k <= 10^9</code></li>
|
||
<li><code>s</code> 和 <code>t</code> 只包含小写英文字母。</li>
|
||
</ul>
|