Advertisement
Guest User

Untitled

a guest
Oct 16th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. str2Length=0
  2. str1Length=0
  3. def editDistUsingDynamicProg(str1, str2, str1Length, str2Length):
  4. dp = [[0 for x in range(str2Length)] for x in range(str1Length)]
  5. for i in range(0, str2Length-1):
  6. dp[str1Length-1][i] = 2 * (str2Length - 1 - i)
  7. for j in range(0, str1Length-1):
  8. print(str1Length - 1 - j)
  9. dp[j][str2Length-1] = 2 * (str1Length - 1 - j)
  10. for i in range(str1Length-2, -1, -1):
  11. for j in range(str2Length-2, -1, -1):
  12. if str1[i] == str2[j]:
  13. dp[i][j] = min(dp[i+1][j+1],
  14. dp[i+1][j]+2,
  15. dp[i][j+1]+2)
  16. else:
  17. dp[i][j] = min(dp[i+1][j+1]+1,
  18. dp[i+1][j]+2,
  19. dp[i][j+1]+2)
  20. print(str1)
  21. print(str2)
  22. print(str(str1Length)+" "+str(str2Length))
  23. print('\n'.join([''.join(['{:3}'.format(item) for item in row])
  24. for row in dp]))
  25. if __name__ == "__main__":
  26. print("Enter String 1:")
  27. str1 = input()
  28. print("Enter String 2:")
  29. str2 = input()
  30. str1Length=len(str1)
  31. str2Length=len(str2)
  32. editDistUsingDynamicProg(str1, str2, len(str1)+1, len(str2)+1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement