Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,2 @@
|
|||
import "stringUtil"
|
||||
print "kitten".editDistance("sitting")
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
string.editDistance = function(s2)
|
||||
n = self.len
|
||||
m = s2.len
|
||||
if n == 0 then return m
|
||||
if m == 0 then return n
|
||||
|
||||
s1chars = self.split("")
|
||||
s2chars = s2.split("")
|
||||
d = range(0, m)
|
||||
lastCost = 0
|
||||
|
||||
for i in range(1, n)
|
||||
s1char = s1chars[i-1]
|
||||
lastCost = i
|
||||
jMinus1 = 0
|
||||
for j in range(1, m)
|
||||
if s1char == s2chars[jMinus1] then cost = 0 else cost = 1
|
||||
|
||||
// set nextCost to the minimum of the following three possibilities:
|
||||
a = d[j] + 1
|
||||
b = lastCost + 1
|
||||
c = cost + d[jMinus1]
|
||||
|
||||
if a < b then
|
||||
if c < a then nextCost = c else nextCost = a
|
||||
else
|
||||
if c < b then nextCost = c else nextCost = b
|
||||
end if
|
||||
|
||||
d[jMinus1] = lastCost
|
||||
lastCost = nextCost
|
||||
jMinus1 = j
|
||||
end for
|
||||
d[m] = lastCost
|
||||
end for
|
||||
|
||||
return nextCost
|
||||
end function
|
||||
|
||||
print "kitten".editDistance("sitting")
|
||||
Loading…
Add table
Add a link
Reference in a new issue