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