Longest common substring: Difference between revisions
m
→{{header|Haskell}}: Applied Ormolu
(Ada version) |
m (→{{header|Haskell}}: Applied Ormolu) |
||
Line 968:
Or, fusing subStrings as ''tail . inits <=< tails''
<lang haskell>import
import Data.List (inits, intersect, maximumBy, tails)
import Data.Ord (comparing)
----------------- LONGEST COMMON SUBSTRING ---------------
longestCommon :: Eq a => [a] -> [a] -> [a]
longestCommon a b =
let pair [x, y] = (x, y)▼
in maximumBy (comparing length) $
(uncurry intersect . pair) $
▲pair [x, y] = (x, y)
--------------------------- TEST -------------------------
main :: IO ()
main =
main = putStrLn $ longestCommon "testing123testing" "thisisatest"</lang>▼
putStrLn $
{{Out}}
<pre>test</pre>
|