Longest common prefix: Difference between revisions
Content added Content deleted
(Added Wren) |
Alpha bravo (talk | contribs) 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> |
<lang AutoHotkey>Longest_common_prefix(data){ |
||
for |
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 % |
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}}== |