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 if cnt > k: return False return True ob = Solution() s = "amledavmel" k = 2 print(ob.solve(s, k))
输入
"amledavmel",2
输出
True
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP