程序来检查我们是否可以在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
    猜你喜欢