5
F # 'da yeniyim ve argMax
' a ihtiyaç duyan dile alışmak için basit bir algoritma yazıyorum. Standart kitaplık, bir işlevi en üst düzeye çıkaracak bir liste öğesi aramak için bir işleve sahip mi?F # kütüphanesinde "argMax" için standart bir işlev var mı?
let argMax f xs =
let rec go a fa zs =
match zs with
| [] -> a
| z :: zs' ->
let fz = f z
if fz > fa
then go z fz zs'
else go a fa zs'
match xs with
| [] -> invalidArg "xs" "empty"
| x :: xs' -> go x (f x) xs'