In [41]:
def find_min_edit(wordA, wordB):
lengthA = len(wordA)
lengthB = len(wordB)
matAB = [[0 for x in range(lengthA + 1)] for y in range(lengthB + 1)]
for i in range(lengthA + 1):
matAB[0][i] = i
for i in range(lengthB + 1):
matAB[i][0] = i
for i in range(1, lengthB + 1):
for j in range (1, lengthA + 1):
if wordA[j-1] == wordB[i-1]:
matAB[i][j] = matAB[i-1][j-1]
else:
matAB[i][j] = min(matAB[i][j-1], matAB[i-1][j-1], matAB[i-1][j]) + 1
print matAB[lengthB][lengthA]
In [42]:
no_test_cases = int(raw_input())
for i in range(no_test_cases):
wordA = str(raw_input())
wordB = str(raw_input())
find_min_edit(wordA, wordB)
In [ ]:
In [ ]: