6 lines
251 B
Haskell
6 lines
251 B
Haskell
import Prelude (foldr, maximum, (==), (+))
|
|
import Data.Map (insertWith', empty, filter, elems, keys)
|
|
|
|
mode :: (Ord a) => [a] -> [a]
|
|
mode xs = keys (filter (== maximum (elems counts)) counts)
|
|
where counts = foldr (\x -> insertWith' (+) x 1) empty xs
|