寻找最小删除以在 Python 中生成字符串的程序
假设我们有两个小写字符串s和t,现在考虑一个操作,我们可以删除这两个字符串中任何一个中的任何字符。我们必须找到使s和t相等所需的最少操作次数。
因此,如果输入像s="pipe"t="ripe",那么输出将是2,因为我们可以从s中删除"p"并从t中删除"r"以使这些字符串相同"ipe"
示例
让我们看看以下实现以获得更好的理解-
def solve(s, t):
m = len(s)
n = len(t)
def dp(i, j):
if i == m:
return n - j
elif j == n:
return m - i
else:
if s[i] == t[j]:
return dp(i + 1, j + 1)
else:
return 1 + min(dp(i + 1, j), dp(i, j + 1))
return dp(0, 0)
s = "pipe"
t = "ripe"
print(solve(s, t))输入
"pipe", "ripe"输出结果
2