Guest User

Untitled

a guest
Jul 15th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. def levenshtein(s, t):
  2. ''' From Wikipedia article; Iterative with two matrix rows. '''
  3. if s == t: return 0
  4. elif len(s) == 0: return len(t)
  5. elif len(t) == 0: return len(s)
  6. v0 = [None] * (len(t) + 1)
  7. v1 = [None] * (len(t) + 1)
  8. for i in range(len(v0)):
  9. v0[i] = i
  10. for i in range(len(s)):
  11. v1[0] = i + 1
  12. for j in range(len(t)):
  13. cost = 0 if s[i] == t[j] else 1
  14. v1[j + 1] = min(v1[j] + 1, v0[j + 1] + 1, v0[j] + cost)
  15. for j in range(len(v0)):
  16. v0[j] = v1[j]
  17.  
  18. return v1[len(t)]
  19.  
  20. for j in range(len(v0)):
  21. v0[j] = v1[j]
Add Comment
Please, Sign In to add comment