假设我们有一个字符串s和另一个数字k,我们必须检查是否可以使用s中的所有字符创建k个回文。
因此,如果输入像s =“ amledavmel” k = 2,则输出将为True,因为我们可以将“ level”和“ madam”设置为。
为了解决这个问题,我们将按照以下步骤
d:=一张映射,其中存储了每个唯一字符及其频率
cnt:= 0
对于d中的每个键,执行
返回False
cnt:= cnt + 1
如果d [key]是奇数,则
如果cnt> k,则
返回True
让我们看一下下面的实现以获得更好的理解
from collections import Counter class Solution: def solve(self, s, k): d = Counter(s) cnt = 0 for key in d: if d[key] & 1: cnt += 1 if cnt > k: return False return True ob = Solution()s = "amledavmel" k = 2 print(ob.solve(s, k))
"amledavmel",2
输出结果
True