The Levenshtein distance between two strings is defined as the minimum number of edits needed to transform one string into the other, with the allowable edit operations being insertion, deletion, or substitution of a single character.
For example, the Levenshtein distance between "kitten" and "sitting" is 3, since the following three edits change one into the other, and there is no way to do it with fewer than three edits:
kitten => sitten (substitution of 's' for 'k')
sitten => sittin (substitution of 'e' for 'i')
sittin => sitting (insert 'g' at the end).
So when
s1 = 'kitten'
and
s2 = 'sitting'
then the distance d is equal to 3.
Solution Stats
Problem Comments
3 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers1513
Suggested Problems
-
Find a subset that divides the vector into equal halves
402 Solvers
-
Set the array elements whose value is 13 to 0
1451 Solvers
-
Return a list sorted by number of consecutive occurrences
438 Solvers
-
Pernicious Anniversary Problem
841 Solvers
-
Find the max element of the array
2300 Solvers
More from this Author96
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
Good question
I really like this problem. So far, this is the one I had to think about most. Mostly because the straight-forward recursive implementation is simply not feasible for longer inputs.
This question is a good example of using a bottom-up dynamic programming algorithm.