13 lines
441 B
OCaml
13 lines
441 B
OCaml
let mode lst =
|
|
let seen = Hashtbl.create 42 in
|
|
List.iter (fun x ->
|
|
let old = if Hashtbl.mem seen x then
|
|
Hashtbl.find seen x
|
|
else 0 in
|
|
Hashtbl.replace seen x (old + 1))
|
|
lst;
|
|
let best = Hashtbl.fold (fun _ -> max) seen 0 in
|
|
Hashtbl.fold (fun k v acc ->
|
|
if v = best then k :: acc
|
|
else acc)
|
|
seen []
|