16 lines
447 B
Text
16 lines
447 B
Text
F longest_common_substring(s1, s2)
|
||
V ir = 0
|
||
V jr = -1
|
||
L(i1) 0 .< s1.len
|
||
V? i2 = s2.find(s1[i1])
|
||
L i2 != N
|
||
V (j1, j2) = (i1, i2)
|
||
L j1 < s1.len & j2 < s2.len & s2[j2] == s1[j1]
|
||
I j1 - i1 >= jr - ir
|
||
(ir, jr) = (i1, j1)
|
||
j1++
|
||
j2++
|
||
i2 = s2.find(s1[i1], i2 + 1)
|
||
R s1[ir..jr]
|
||
|
||
print(longest_common_substring(‘thisisatest’, ‘testing123testing’))
|