在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
- 如果d [key]为奇数,则
- 返回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