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

pythonserver side programmingprogramming更新于 2026/2/16 21:00:17

假设我们有一个字符串 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
            if cnt > k:
               return False
         return True

ob = Solution()
s = "amledavmel"
k = 2
print(ob.solve(s, k))

输入

"amledavmel",2

输出

True

相关文章


有用资源