程序查找在Python中形成具有K个唯一字符的字符串的最小机会
假设我们有一个由小写字母字符组成的字符串s和另一个数字k,我们必须找出字符串中所需更改的最小数量,以便最终的字符串最多具有k个不同的字符。在这种情况下,更改实际上是将单个字符更改为任何其他字符。
因此,如果输入像s =“ wxxyyzzxx”,k = 3,则输出将为1,因为我们可以删除字母“ w”以得到3个不同的字符(x,y和z)。
为了解决这个问题,我们将遵循以下步骤-
count:= s中每个字符及其频率的映射
sv:=频率值的排序列表
回答:= 0
对于0到(计数大小)-k-1范围内的i
ans:= ans + sv [i]
返回ans
让我们看下面的实现以更好地理解-
示例
from collections import Counterclass Solution:
def solve(self, s, k):
count = Counter(s)
sv = sorted(count.values())
ans = 0
for i in range(len(count) - k):
ans += sv[i]
return ans
ob = Solution()
s = "wxxyyzzxx"
k = 3
print(ob.solve(s, k))
输入值
"wxxyyzzxx",3
输出结果
1
以上是 程序查找在Python中形成具有K个唯一字符的字符串的最小机会 的全部内容, 来源链接: utcz.com/z/331547.html