在Python中编写检查是否可以从给定字符串字符创建K个回文字符串的程序?

在Python中编写检查是否可以从给定字符串字符创建K个回文字符串的程序?

假设我们有一个字符串s和另一个数字k,我们必须检查是否可以使用s中的所有字符创建k个回文字符串。

所以,如果输入是s =“amledavmel”k = 2,则输出将为True,因为我们可以创建“level”和“madam”。

要解决此问题,我们将遵循以下步骤

  • d:存储每个唯一字符及其频率的映射

  • cnt :0

  • 对于d中的每个键,执行以下操作

    • 如果d [key]为奇数,则
      • cnt := cnt +1
    • 如果cnt> k,则
      • 返回False
  • 返回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
         如果cnt> k:
           返回False
        return True
  ob = Solution()
  s =“amledavmel”
  k = 2
  print(ob.solve(s,k))

输入

  “amledavmel”,2

输出

  True

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程