Skip to main content

editDistance

This is literally a pull of Levenshtein Distance

class Solution:
def minDistance(self, word1: str, word2: str) -> int:
dp = [ [0 for _ in range(len(word2) + 1)] for _ in range(len(word1) + 1)]

# fill left col
for i in range(len(word1) + 1):
dp[i][0] = i

# fill top row
for i in range(len(word2) + 1):
dp[0][i] = i

for row in range(1, len(word1) + 1):
for col in range(1, len(word2) + 1):
dp[row][col] = min(
dp[row - 1][col - 1],
dp[row - 1][col],
dp[row][col - 1]
) + (0 if word1[row - 1] == word2[col - 1] else 1)

return(dp[-1][-1])