程序来检查我们是否可以在Python中从给定的字符串字符创建k个回文?
假设我们有一个字符串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