该程序查找在Python中将一个字符串变成另一个字符串的子字符串所需的最少操作数

假设我们有两个字符串s和t,我们必须找到使s成为子字符串的s所需的最小操作数。现在,在每个操作中,我们可以选择s中的任何位置并将该位置的字符更改为任何其他字符。

因此,如果输入像s =“ abbpqr”,t =“ bbxy”,那么输出将为2,因为我们可以将子字符串“ bbpq”更改为'x'和'q'。 y'。

为了解决这个问题,我们将遵循以下步骤-

  • k:= t的大小,n:= s的大小

  • 回答:= 10 ^ 10

  • 对于0到n-k范围内的i,执行

    • ss:= s的子字符串[从索引i到i + k-1]

    • ans:= ans的最小值以及s和t的不匹配字符数

  • 返回ans

让我们看下面的实现以更好地理解-

示例

class Solution:
   def solve(self, s, t):
      k, n = len(t), len(s)
      ans = 10**10
      for i in range(n - k + 1):
         ss = s[i:i+k]
         ans = min(ans, sum(ss[j]!=t[j] for j in range(k)))
      return ans
ob = Solution()print(ob.solve("abbpqr", "bbxy"))

输入项

"abbpqr", "bbxy"

输出结果

2
猜你喜欢