Я работаю над проектом с OCaml, и есть некоторые проблемы с массивами, в которых я не уверен. Мне не разрешено использовать модуль List, поэтому, пожалуйста, дайте мне идею или предложение с моими работами.
Во-первых, я уже реализовал функцию 'a list -> 'a list
с именем uniq
, которая возвращает список элементов uniq в массиве, например uniq [5;6;5;4] => [6;5;4]
Вот моя реализация:
let rec uniq x =
let rec uniq_help l n =
match l with
[] -> []
| h :: t -> uniq_help t, n if (n = h) else (h :: (uniq_help(t, n)))
match x with
[] -> []
| h::t -> uniq_help t, h
;;
Я не уверен, что это правильная реализация, кто-то может дать мне какое-то предложение или правильность?