Anonymous user
Longest common prefix: Difference between revisions
m
fix spelling of "interstellar" :)
(→{{header|REXX}}: added version 2.) |
m (fix spelling of "interstellar" :)) |
||
Line 9:
For a function, ''lcp'', accepting a list of strings, the following should hold true
(the empty string, <math>\varepsilon</math>, is considered a prefix of all strings):
lcp("interspecies","
lcp("throne","throne") = "throne"
lcp("throne","dungeon") = <math>\varepsilon</math>
Line 61:
func main() {
for _, l := range [][]string{
{"interspecies", "
{"throne", "throne"},
{"throne", "dungeon"},
Line 74:
{{out}}
<pre>
lcp(["interspecies" "
lcp(["throne" "throne"]) = "throne"
lcp(["throne" "dungeon"]) = ""
Line 94:
main = do
print $ lcp ["interspecies","
print $ lcp ["throne","throne"] -- prints "throne"
print $ lcp ["throne","dungeon"] -- prints ""
Line 129:
==ooRexx==
{{trans|REXX}}
<lang oorexx>Call assert lcp(.list~of("interspecies","
Call assert lcp(.list~of("throne","throne")),"throne"
Call assert lcp(.list~of("throne","dungeon")),""
Line 166:
Return left(arg(1),i-1)</lang>
{{out}}
<pre>lcp(interspecies,
ok lcp="inters"
Line 203:
plan 7;
is lcp("interspecies","
is lcp("throne","throne"), "throne";
is lcp("throne","dungeon"), '';
Line 225:
(subrg):
lcpt: Proc Options(main);
Call assert(lcp('interspecies
Call assert(lcp('throne throne'),'throne');
Call assert(lcp('throne dungeon'),'');
Line 276:
End;</lang>
{{out}}
<pre>"interspecies
ok lcp="inters"
Line 305:
return os.path.commonprefix(s)
assert lcp("interspecies","
assert lcp("throne","throne") == "throne"
assert lcp("throne","dungeon") == ""
Line 321:
zip(*s)))
assert lcp("interspecies","
assert lcp("throne","throne") == "throne"
assert lcp("throne","dungeon") == ""
Line 359:
(require tests/eli-tester)
(test
(lcp "interspecies" "
(lcp "throne" "throne") => "throne"
(lcp "throne" "dungeon") => ""
Line 371:
=={{header|REXX}}==
===version 1===
<lang rexx>Call assert lcp("interspecies","
Call assert lcp("throne","throne"),"throne"
Call assert lcp("throne","dungeon"),""
Line 410:
Return left(arg(1),i-1)</lang>
{{out}}
<pre>test lcp("interspecies","
ok lcp="inters"
Line 434:
This REXX version makes use of the '''compare''' BIF.
<lang rexx>/*REXX program computes the longest common prefix of any number of args.*/
say lcp('interspecies', "
say lcp('throne', "throne")
say lcp('throne', "dungeon")
Line 461:
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
────────── argument 1: interspecies
────────── argument 2:
────────── argument 3: interstate
longest common prefix= inters
Line 495:
<lang scala>class TestLCP extends FunSuite {
test("shared start") {
assert(lcp("interspecies","
assert(lcp("throne","throne") === "throne")
assert(lcp("throne","dungeon").isEmpty)
Line 555:
'Calling the function for test cases.
test = Array("interspecies,
"","prefix,suffix")
Line 564:
{{out}}
<pre>Test case 0 interspecies,
Test case 1 throne,throne = throne
Test case 2 throne,dungeon = No Matching Prefix
Line 582:
}</lang>
<lang zkl>tester:=TheVault.Test.UnitTester.UnitTester();
tester.testRun(lcp.fp("interspecies","
tester.testRun(lcp.fp("throne","throne"),Void,"throne",__LINE__);
tester.testRun(lcp.fp("throne","dungeon"),Void,"",__LINE__);
|