mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
43 lines
2.3 KiB
HTML
43 lines
2.3 KiB
HTML
<p>给你一个字符串 <code>s</code> 和一个整数 <code>repeatLimit</code> ,用 <code>s</code> 中的字符构造一个新字符串 <code>repeatLimitedString</code> ,使任何字母 <strong>连续</strong> 出现的次数都不超过 <code>repeatLimit</code> 次。你不必使用 <code>s</code> 中的全部字符。</p>
|
||
|
||
<p>返回 <strong>字典序最大的</strong><em> </em><code>repeatLimitedString</code> 。</p>
|
||
|
||
<p>如果在字符串 <code>a</code> 和 <code>b</code> 不同的第一个位置,字符串 <code>a</code> 中的字母在字母表中出现时间比字符串 <code>b</code> 对应的字母晚,则认为字符串 <code>a</code> 比字符串 <code>b</code> <strong>字典序更大</strong> 。如果字符串中前 <code>min(a.length, b.length)</code> 个字符都相同,那么较长的字符串字典序更大。</p>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>示例 1:</strong></p>
|
||
|
||
<pre><strong>输入:</strong>s = "cczazcc", repeatLimit = 3
|
||
<strong>输出:</strong>"zzcccac"
|
||
<strong>解释:</strong>使用 s 中的所有字符来构造 repeatLimitedString "zzcccac"。
|
||
字母 'a' 连续出现至多 1 次。
|
||
字母 'c' 连续出现至多 3 次。
|
||
字母 'z' 连续出现至多 2 次。
|
||
因此,没有字母连续出现超过 repeatLimit 次,字符串是一个有效的 repeatLimitedString 。
|
||
该字符串是字典序最大的 repeatLimitedString ,所以返回 "zzcccac" 。
|
||
注意,尽管 "zzcccca" 字典序更大,但字母 'c' 连续出现超过 3 次,所以它不是一个有效的 repeatLimitedString 。
|
||
</pre>
|
||
|
||
<p><strong>示例 2:</strong></p>
|
||
|
||
<pre><strong>输入:</strong>s = "aababab", repeatLimit = 2
|
||
<strong>输出:</strong>"bbabaa"
|
||
<strong>解释:</strong>
|
||
使用 s 中的一些字符来构造 repeatLimitedString "bbabaa"。
|
||
字母 'a' 连续出现至多 2 次。
|
||
字母 'b' 连续出现至多 2 次。
|
||
因此,没有字母连续出现超过 repeatLimit 次,字符串是一个有效的 repeatLimitedString 。
|
||
该字符串是字典序最大的 repeatLimitedString ,所以返回 "bbabaa" 。
|
||
注意,尽管 "bbabaaa" 字典序更大,但字母 'a' 连续出现超过 2 次,所以它不是一个有效的 repeatLimitedString 。
|
||
</pre>
|
||
|
||
<p> </p>
|
||
|
||
<p><strong>提示:</strong></p>
|
||
|
||
<ul>
|
||
<li><code>1 <= repeatLimit <= s.length <= 10<sup>5</sup></code></li>
|
||
<li><code>s</code> 由小写英文字母组成</li>
|
||
</ul>
|