Edit Distance (Leetcode 72)
Problem Link: https://leetcode.com/problems/edit-distance/
class Solution:
def minDistance(self, word1: str, word2: str) -> int:
m=len(word1)
n=len(word2)
dp=[[0 for i in range(n+1)] for j in range(m+1)]
for i in range(m+1):
for j in range(n+1):
if(i==0 and j==0):
dp[i][j]=0
elif(i==0):
dp[i][j]=j
elif(j==0):
dp[i][j]=i
else:
if(word1[i-1]==word2[j-1]):
dp[i][j]=0+dp[i-1][j-1]
else:
insert=1+dp[i][j-1]
delete=1+dp[i-1][j]
replace=1+dp[i-1][j-1]
dp[i][j]=min(min(insert,delete),replace)
return dp[m][n]
Last updated