Cody

Problem 848. Calculate a modified Levenshtein distance between two strings

Solution 3139491

Submitted on 9 Oct 2020 by Marco Tullio
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
s1 = 'I do not like MATLAB'; s2 = 'I love MATLAB a lot'; d_correct = 4; assert(isequal(modlevenshtein(s1,s2),d_correct))

R = 4 k = 0 1 2 3 4 5 1 0 1 2 3 4 2 1 1 2 3 4 3 2 2 2 3 4 4 3 3 3 3 4 5 4 4 3 4 4

2   Pass
s1 = 'Which words need to be edited?'; s2 = 'Can you tell which words need to be edited?'; d_correct = 3; assert(isequal(modlevenshtein(s1,s2),d_correct))

R = 3 k = 0 1 2 3 4 5 6 7 8 9 1 1 2 3 3 4 5 6 7 8 2 2 2 3 4 3 4 5 6 7 3 3 3 3 4 4 3 4 5 6 4 4 4 4 4 5 4 3 4 5 5 5 5 5 5 5 5 4 3 4 6 6 6 6 6 6 6 5 4 3

3   Pass
s1 = 'Are these strings identical?'; s2 = 'These strings are not identical!'; d_correct = 3; assert(isequal(modlevenshtein(s1,s2),d_correct))

R = 3 k = 0 1 2 3 4 5 1 1 2 2 3 4 2 1 2 3 3 4 3 2 1 2 3 4 4 3 2 2 3 3

4   Pass
s1 = 'Settlers of Catan is my favorite game'; s2 = 'Tic-tac-toe is also one of my favorite games'; d_correct = 6; assert(isequal(modlevenshtein(s1,s2),d_correct))

R = 6 k = 0 1 2 3 4 5 6 7 8 1 1 2 3 4 5 6 7 8 2 2 2 3 4 4 5 6 7 3 3 3 3 4 5 5 6 7 4 4 3 4 4 5 6 6 7 5 5 4 4 5 5 5 6 7 6 6 5 5 5 6 6 5 6 7 7 6 6 6 6 7 6 6

5   Pass
s1 = 'This one should be simple, but maybe it isn''t'; s2 = 'This one should be simple, but maybe it isn''t'; d_correct = 0; assert(isequal(modlevenshtein(s1,s2),d_correct))

R = 0 k = 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 2 1 0 1 2 3 4 5 6 7 3 2 1 0 1 2 3 4 5 6 4 3 2 1 0 1 2 3 4 5 5 4 3 2 1 0 1 2 3 4 6 5 4 3 2 1 0 1 2 3 7 6 5 4 3 2 1 0 1 2 8 7 6 5 4 3 2 1 0 1 9 8 7 6 5 4 3 2 1 0

6   Pass
s1 = 'Testing, testing, one, two, three,...'; s2 = 'Testing, testing, one, two,...'; d_correct = 1; assert(isequal(modlevenshtein(s1,s2),d_correct))

R = 1 k = 0 1 2 3 4 1 0 1 2 3 2 1 0 1 2 3 2 1 0 1 4 3 2 1 0 5 4 3 2 1

7   Pass
s1 = 'How many edits do you think there are in this example? I don''t know!'; s2 = 'Well, it is hard to tell how many edits are required because there are big differences in the two strings.'; d_correct = 15; assert(isequal(modlevenshtein(s1,s2),d_correct))

R = 15 k = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 1 2 3 4 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 2 2 3 4 5 6 7 6 7 8 9 10 11 12 13 14 15 16 17 18 3 3 3 3 4 5 6 7 7 6 7 8 9 10 11 12 13 14 15 16 17 4 4 4 4 4 5 6 7 8 7 7 8 9 10 11 12 13 14 15 16 17 5 5 5 5 5 5 6 7 8 8 8 8 9 10 11 12 13 14 15 16 17 6 6 6 6 6 6 6 7 8 9 9 9 9 10 11 12 13 14 15 16 17 7 7 7 7 7 7 7 7 8 9 10 10 10 9 10 11 12 13 14 15 16 8 8 8 8 8 8 8 8 8 9 9 10 11 10 9 10 11 12 13 14 15 9 9 9 9 9 9 9 9 9 9 10 10 11 11 10 10 11 11 12 13 14 10 10 10 10 10 10 10 10 10 10 10 11 11 12 11 11 11 12 12 13 14 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 13 13 14 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 14 14 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 15 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15

Suggested Problems

More from this Author44

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!