Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/Levenshtein-distance/DWScript/levenshtein-distance.dw
Normal file
23
Task/Levenshtein-distance/DWScript/levenshtein-distance.dw
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
function LevenshteinDistance(s, t : String) : Integer;
|
||||
var
|
||||
i, j : Integer;
|
||||
begin
|
||||
var d:=new Integer[Length(s)+1, Length(t)+1];
|
||||
for i:=0 to Length(s) do
|
||||
d[i, 0] := i;
|
||||
for j:=0 to Length(t) do
|
||||
d[0, j] := j;
|
||||
|
||||
for j:=1 to Length(t) do
|
||||
for i:=1 to Length(s) do
|
||||
if s[i]=t[j] then
|
||||
d[i, j] := d[i-1, j-1] // no operation
|
||||
else d[i,j]:=MinInt(MinInt(
|
||||
d[i-1, j] +1 , // a deletion
|
||||
d[i, j-1] +1 ), // an insertion
|
||||
d[i- 1,j-1] +1 // a substitution
|
||||
);
|
||||
Result:=d[Length(s), Length(t)];
|
||||
end;
|
||||
|
||||
PrintLn(LevenshteinDistance('kitten', 'sitting'));
|
||||
Loading…
Add table
Add a link
Reference in a new issue