Longest common prefix: Difference between revisions

Added 11l
No edit summary
(Added 11l)
Line 25:
{{Template:Strings}}
<br><br>
 
=={{header|11l}}==
<lang 11l>F lcp(sa)
I sa.empty
R ‘’
I sa.len == 1
R sa[0]
 
V min_len = min(sa.map(s -> s.len))
 
L(i) 0 .< min_len
V p = sa[0][i]
L(j) 1 .< sa.len
I sa[j][i] != p
R sa[0][0 .< i]
 
R sa[0][0 .< min_len]
 
F test(sa)
print(String(sa)‘ -> ’lcp(sa))
 
test([‘interspecies’, ‘interstellar’, ‘interstate’])
test([‘throne’, ‘throne’])
test([‘throne’, ‘dungeon’])
test([‘throne’, ‘’, ‘throne’])
test([‘cheese’])
test([‘’])
test([‘prefix’, ‘suffix’])
test([‘foo’, ‘foobar’])</lang>
 
{{out}}
<pre>
[interspecies, interstellar, interstate] -> inters
[throne, throne] -> throne
[throne, dungeon] ->
[throne, , throne] ->
[cheese] -> cheese
[] ->
[prefix, suffix] ->
[foo, foobar] -> foo
</pre>
 
=={{header|Ada}}==
1,481

edits