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)/满足距离约束且字典序最小的字符串 [lexicographically-smallest-string-after-operations-with-constraint].html
2024-04-07 13:02:43 +08:00

61 lines
2.6 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> 和一个整数 <code>k</code></p>
<p>定义函数 <code>distance(s<sub>1</sub>, s<sub>2</sub>)</code> ,用于衡量两个长度为 <code>n</code> 的字符串 <code>s<sub>1</sub></code><code>s<sub>2</sub></code> 之间的距离,即:</p>
<ul>
<li>字符 <code>'a'</code><code>'z'</code><strong>循环 </strong>顺序排列,对于区间 <code>[0, n - 1]</code> 中的 <code>i</code> ,计算所有「 <code>s<sub>1</sub>[i]</code><code>s<sub>2</sub>[i]</code> 之间<strong> 最小距离</strong>」的 <strong></strong></li>
</ul>
<p>例如,<code>distance("ab", "cd") == 4</code> ,且 <code>distance("a", "z") == 1</code></p>
<p>你可以对字符串 <code>s</code> 执行<strong> 任意次 </strong>操作。在每次操作中,可以将 <code>s</code> 中的一个字母 <strong>改变 </strong><strong> 任意 </strong>其他小写英文字母。</p>
<p>返回一个字符串,表示在执行一些操作后你可以得到的 <strong>字典序最小</strong> 的字符串 <code>t</code> ,且满足 <code>distance(s, t) &lt;= k</code></p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<pre>
<strong>输入:</strong>s = "zbbz", k = 3
<strong>输出:</strong>"aaaz"
<strong>解释:</strong>在这个例子中,可以执行以下操作:
将 s[0] 改为 'a' s 变为 "abbz" 。
将 s[1] 改为 'a' s 变为 "aabz" 。
将 s[2] 改为 'a' s 变为 "aaaz" 。
"zbbz" 和 "aaaz" 之间的距离等于 k = 3 。
可以证明 "aaaz" 是在任意次操作后能够得到的字典序最小的字符串。
因此,答案是 "aaaz" 。
</pre>
<p><strong class="example">示例 2</strong></p>
<pre>
<strong>输入:</strong>s = "xaxcd", k = 4
<strong>输出:</strong>"aawcd"
<strong>解释:</strong>在这个例子中,可以执行以下操作:
将 s[0] 改为 'a' s 变为 "aaxcd" 。
将 s[2] 改为 'w' s 变为 "aawcd" 。
"xaxcd" 和 "aawcd" 之间的距离等于 k = 4 。
可以证明 "aawcd" 是在任意次操作后能够得到的字典序最小的字符串。
因此,答案是 "aawcd" 。
</pre>
<p><strong class="example">示例 3</strong></p>
<pre>
<strong>输入:</strong>s = "lol", k = 0
<strong>输出:</strong>"lol"
<strong>解释:</strong>在这个例子中k = 0更改任何字符都会使得距离大于 0 。
因此,答案是 "lol" 。</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= s.length &lt;= 100</code></li>
<li><code>0 &lt;= k &lt;= 2000</code></li>
<li><code>s</code> 只包含小写英文字母。</li>
</ul>