Longest common substring: Difference between revisions
Content added Content deleted
m (→{{header|Haskell}}: Applied Ormolu) |
|||
Line 830: | Line 830: | ||
var mat = Array.empty(w1.len() + 1, () => Array.empty(w2.len() + 1, 0)) |
var mat = Array.empty(w1.len() + 1, () => Array.empty(w2.len() + 1, 0)) |
||
var (i, j) = (0, 0) |
var (i, j) = (0, 0) |
||
for sLett in w1 { |
for sLett in w1 { |
||
for tLett in w2 { |
for tLett in w2 { |
||
if tLett == sLett { |
if tLett == sLett { |
||
let curLen = mat[i][j] + 1 |
|||
mat[i + 1][j + 1] = curLen |
mat[i + 1][j + 1] = curLen |
||
if curLen > len { |
if curLen > len { |
||
Line 846: | Line 846: | ||
i += 1 |
i += 1 |
||
} |
} |
||
String(values |
String(values: w1).sub((end + 1) - len, len) |
||
} |
} |
||
Line 852: | Line 852: | ||
return String(lComSubStr(w1.iter().toArray(), w2.iter().toArray())) |
return String(lComSubStr(w1.iter().toArray(), w2.iter().toArray())) |
||
} |
} |
||
comSubStr("thisisatest", "testing123testing") // "test"</lang> |
comSubStr("thisisatest", "testing123testing") // "test"</lang> |
||