Longest common prefix: Difference between revisions

Content added Content deleted
Line 167: Line 167:
{{trans|D}}
{{trans|D}}


<lang arturo>lcp [list]{
<lang arturo>lcp: @(list){
ret ""
ret: ""
idx 0
idx: 0
loop true {
loop true {
thisLetter ""
thisLetter: ""
loop list [word]{
loop list @(word){
if idx=$(size word) { return ret }
if idx=[size word] { return ret }
if thisLetter="" { thisLetter $(get $(characters word) idx) }
if thisLetter="" { thisLetter: [chars word].[idx] }
if thisLetter!=$(get $(characters word) idx) { return ret }
if thisLetter!=[chars word].[idx] { return ret }


}
}
ret ret+thisLetter
ret: ret+thisLetter
idx idx+1
idx: idx+1
}
}
}
}


print $(lcp #("interspecies" "interstellar" "interstate"))
print [lcp #("interspecies" "interstellar" "interstate")]
print $(lcp #("throne" "throne"))
print [lcp #("throne" "throne")]
print $(lcp #("throne" "dungeon"))
print [lcp #("throne" "dungeon")]
print $(lcp #("throne" "" "throne"))
print [lcp #("throne" "" "throne")]
print $(lcp #("cheese"))
print [lcp #("cheese")]
print $(lcp #(""))
print [lcp #("")]
print $(lcp #("prefix" "suffix"))
print [lcp #("prefix" "suffix")]
print $(lcp #("foo" "foobar"))</lang>
print [lcp #("foo" "foobar")]</lang>


{{out}}
{{out}}