Python中查找使字符串平衡的最小删除次数的程序
假设我们有一个字符串s,只包含两个字符’s’和’t’。我们可以删除s中任意数量的字符以使字符串平衡。当不存在一对索引(i,j)满足i
因此,如果输入是s=”sststtst”,则输出将是2,因为我们可以删除索引2和6处的字符(“sststtst”到“sssttt”),或删除索引3和6处的字符(“sststtst”到“sstttt”)。
为了解决这个问题,我们将执行以下步骤−
- cum_b:= 0
-
count_a:= s中字符’s’的数量
-
ans:=无穷大
-
对于s中的每个x,执行以下操作
- 如果x与”s”相同,则
- count_a:=count_a-1
-
ans:= ans和(cum_b + count_a)的最小值
-
否则,
- cum_b:=cum_b+1
-
ans:= ans和(cum_b-1 + count_a)的最小值
- 如果x与”s”相同,则
-
返回ans
示例
让我们看以下实现以更好地理解−