Longest common prefix: Difference between revisions

Content added Content deleted
(Added Wren)
m (Added AutoHotkey)
Line 28: Line 28:
:*   [[Abbreviations, easy]]
:*   [[Abbreviations, easy]]
:*   [[Longest common prefix]]
:*   [[Longest common prefix]]
:*   [[Longest common suffix]]
:*   [[Longest increasing subsequence]]
:*   [[Longest increasing subsequence]]
:*   [[Suffixation of decimal numbers]]
:*   [[Suffixation of decimal numbers]]
Line 672: Line 673:


=={{header|AutoHotkey}}==
=={{header|AutoHotkey}}==
<lang AutoHotkey>lcp(str*){
<lang AutoHotkey>Longest_common_prefix(data){
for k, v in str
for num, v in StrSplit(data.1)
for i, word in data
w := v, list .= (list ? "`n" : "") v
if (SubStr(word, 1, num) <> SubStr(data.1, 1, num))
return RegExReplace(list, "^(.*)\K(\V*\R\1\V*)+$")
return SubStr(word, 1, num-1)
return word
}</lang>
}</lang>
Examples:<lang AutoHotkey>MsgBox % lcp("interspecies","interstellar","interstate")</lang>
Examples:<lang AutoHotkey>MsgBox % ""
. "`n" Longest_common_prefix(["interspecies","interstellar","interstate"])
Outputs:<pre>inters</pre>
. "`n" Longest_common_prefix(["throne", "throne"])
. "`n" Longest_common_prefix(["throne", "dungeon"])
. "`n" Longest_common_prefix(["throne", "", "throne"])
. "`n" Longest_common_prefix(["cheese"])
. "`n" Longest_common_prefix([""])
. "`n" Longest_common_prefix(["send", "serve"])
return</lang>
{{out}}
<pre>
inters
throne


cheese

se
</pre>


=={{header|AWK}}==
=={{header|AWK}}==