1374. 生成每种字符都是奇数个的字符串 - 力扣(LeetCode)
可以使用贪心的方法构造这样一个字符串。由于英文字母有 26 个,我们可以简单地用一个字母重复 n 次,这样它在字符串中出现的次数就是 n,而我们只需要保证 n 是奇数即可。
如果 n 是奇数,我们可以直接返回 n
个相同的字符,比如 "aaa..."
。
如果 n 是偶数,我们可以返回 n-1
个相同的字符,加上另一个不同的字符,比如 "aaa...ab"
。
下面是 Python 实现:
def generateOddCountString(n: int) -> str:
if n % 2 == 1:
return 'a' * n
else:
return 'a' * (n - 1) + 'b'
# 示例
print(generateOddCountString(4)) # 可能返回 "aaab"
print(generateOddCountString(5)) # 可能返回 "aaaaa"
这样构造的字符串始终满足所有字符出现次数为奇数的要求,并且简单直观。