假设我们有一个字母x和y的小写字符串s。现在考虑一个将单个x更改为y或反之亦然的操作。我们必须找到执行该操作以将所有x都设置在所有y之前的最小次数。
因此,如果输入类似于s =“ yxyyyyxyxx”,则输出将为4。
为了解决这个问题,我们将遵循以下步骤-
y_left:= 0
x_right:= s中的“ x”数,res:= s中的“ x”数
对于s中的每个项目,执行
y_left:= y_left +1
x_right:= x_right − 1
如果项目与“ x”相同,则
除此以外,
res:=最小res和(y_left + x_right)
返回资源
让我们看下面的实现以更好地理解-
class Solution: def solve(self, s): y_left = 0 x_right = res = s.count("x") for item in s: if item == "x": x_right -= 1 else: y_left += 1 res = min(res, y_left + x_right) return res ob = Solution() s = "yxyyyyxyxx" print(ob.solve(s))
"yxyyyyxyxx"输出结果
4