Я пытаюсь найти максимальный элемент в списке, не используя List.Max для школьного задания, используя приведенный ниже шаблон.Поиск элемента Maximum в списке с совпадением рисунков и рекурсией F #
let findMax l =
let rec helper(l,m) = failwith "Not implemented"
match l with
| [] -> failwith "Error -- empty list"
| (x::xs) -> helper(xs,x)
Единственное решение этой проблемы я могу думать, атм
let rec max_value1 l =
match l with
|[] -> failwith "Empty List"
|[x] -> x
|(x::y::xs) -> if x<y then max_value1 (y::xs)
else max_value1 (x::xs)
max_value1 [1; 17; 3; 6; 1; 8; 3; 11; 6; 5; 9];;
Есть ли способ я могу перейти от функции я построил, чтобы тот, который использует шаблон? Благодаря!
Возможный дубликат [Как получить максимальное значение из списка с помощью функции, которая принимает два аргумента?] (Http://stackoverflow.com/questions/13474382/how-do-get-the-max -значение-с-а-лист-с-а-функции, которая принимает к-два-аргумента) –