Longest common substring: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 171:
<pre>
test
</pre>
 
=={{header|Haskell}}==
<lang Haskell>module Longest
where
import Data.List ( maximumBy , intersect )
 
substrings :: String -> [String]
substrings thestring = [drop start $ take howmany thestring | start <- [0..length thestring - 1] ,
howmany <- [start..length thestring]]
 
longestCommon :: String -> String -> String
longestCommon first second = maximumBy mycompare $ intersect ( substrings first ) ( substrings second )
where
mycompare :: String -> String -> Ordering
mycompare m n = compare ( length m ) ( length n )</lang>
{{out}}
<pre>
longestCommon "testing123testing" "thisisatest"
"test"
</pre>
 
260

edits