该程序计算在Python中y之前的所有x所需的翻转次数

假设我们有一个字母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

    猜你喜欢