5
Tôi mới dùng F # và viết một số thuật toán đơn giản để làm quen với ngôn ngữ, cần argMax
. Thư viện chuẩn có đi kèm với một hàm để tìm kiếm phần tử danh sách tối đa hóa một hàm không? Tức là, nếu có một chức năng hiện có hoạt động như thế này:Thư viện F # có hàm chuẩn cho `argMax` không?
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'