gpt4 book ai didi

f# - 我将如何在 F# 中实现一个 get Max 元素函数?

转载 作者:行者123 更新时间:2023-12-04 08:46:28 25 4
gpt4 key购买 nike

我对 F# 很陌生,并且在使用一些基本功能时遇到了问题。
我得到了一个 list :

let list1 = [1;2;3;4;5;6;7]
我将如何创建 getMax递归遍历 list1 的函数并找到最大的元素?
我最困惑的是我将返回什么以及我将如何遍历列表。

最佳答案

类似于在命令式语言中,您将遍历每个项目并将最大值存储在变量中,我们编写了一个尾递归函数,该函数将由编译器转换为循环。

let getMax list =
let rec loop current list =
match list with
| [] -> current
| head::tail -> loop (if head > current then head else current) tail

loop (List.head list) list
这很冗长,但这是一个很好的起点。
当然总是有 List.maxList.maxBy ,但理解循环的模拟是它的重要组成部分。

关于f# - 我将如何在 F# 中实现一个 get Max 元素函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64289694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com