程序查找在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 Counter

class 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

回到顶部