F#库是否有“argMax”的标准函数?
我不熟悉F#并编写一些简单的算法来适应这种语言,它需要F#库是否有“argMax”的标准函数?,f#,argmax,F#,Argmax,我不熟悉F#并编写一些简单的算法来适应这种语言,它需要argMax。标准库是否提供了一个函数,用于搜索最大化函数的列表元素?也就是说,如果现有函数的行为与此类似: 让argMax f xs= 让rec走一段路= 将zs与 |[]->a |z::zs'-> 设fz=fz 如果fz>fa 然后去z-fz-zs' 要不然就去法兹' 将xs与 |[]->invalidArg“xs”“empty” |x::xs'->go x(f x)xs' 是的,但它被称为List.maxBy 下面是一个例子: let
argMax
。标准库是否提供了一个函数,用于搜索最大化函数的列表元素?也就是说,如果现有函数的行为与此类似:
让argMax f xs=
让rec走一段路=
将zs与
|[]->a
|z::zs'->
设fz=fz
如果fz>fa
然后去z-fz-zs'
要不然就去法兹'
将xs与
|[]->invalidArg“xs”“empty”
|x::xs'->go x(f x)xs'
是的,但它被称为List.maxBy
下面是一个例子:
let f x = -(x * x) + 100 * x + 1000
List.maxBy f [0..1000]
// val it : int = 50
f 50
// val it : int = 3500
还有List.minBy
,同样的功能可用于Seq
和Array