给你一个长度为 n
的字符串 caption
。如果字符串中 每一个 字符都位于连续出现 至少 3 次 的组中,那么我们称这个字符串是 好 标题。
比方说:
"aaabbb"
和 "aaaaccc"
都是 好 标题。"aabbb"
和 "ccccd"
都 不是 好标题。你可以对字符串执行以下操作 任意 次:
选择一个下标 i
(其中 0 <= i < n
)然后将该下标处的字符变为:
caption[i] != 'a'
)caption[i] != 'z'
)你的任务是用 最少 操作次数将 caption
变为 好 标题。如果存在 多种 好标题,请返回它们中 字典序最小 的一个。如果 无法 得到好标题,请你返回一个空字符串 ""
。
a
和 b
中,如果两个字符串第一个不同的字符处,字符串 a
的字母比 b
的字母在字母表里出现的顺序更早,那么我们称字符串 a
的 字典序 比 b
小 。如果两个字符串前 min(a.length, b.length)
个字符都相同,那么较短的一个字符串字典序比另一个字符串小。
示例 1:
输入:caption = "cdcd"
输出:"cccc"
解释:
无法用少于 2 个操作将字符串变为好标题。2 次操作得到好标题的方案包括:
"dddd"
:将 caption[0]
和 caption[2]
变为它们后一个字符 'd'
。"cccc"
:将 caption[1]
和 caption[3]
变为它们前一个字符 'c'
。由于 "cccc"
字典序比 "dddd"
小,所以返回 "cccc"
。
示例 2:
输入:caption = "aca"
输出:"aaa"
解释:
无法用少于 2 个操作将字符串变为好标题。2 次操作得到好标题的方案包括:
caption[1]
变为 'b'
,caption = "aba"
。caption[1]
变为 'a'
,caption = "aaa"
。所以返回 "aaa"
。
示例 3:
输入:caption = "bc"
输出:""
解释:
由于字符串的长度小于 3 ,无法将字符串变为好标题。
提示:
1 <= caption.length <= 5 * 104
caption
只包含小写英文字母。