Я новичок в Caml и не всегда понимаю все, что я делаю. В домашнем задании меня просят написать функцию, которая, учитывая l
список из n целых чисел и max
функцию, которая возвращает наибольшее целое число из двух, возвращает два самых больших элемента в l, вызывая функцию max
в самое 2н-3 раза. Я уже сделал max_in_list
функцию, которая возвращает наибольшее значение, если это может быть полезно:
let max a1 a2 = if a1>a2 then a1 else a2;;
let rec max_in_list l = match l with
| [] -> 0
| [a] -> a
| a::q -> max a (max_in_list q)
;;
Как я мог решить эту проблему?