gpt4 book ai didi

list - Haskell 中列表的递归函数

转载 作者:行者123 更新时间:2023-12-04 21:47:14 30 4
gpt4 key购买 nike

我想通过使用递归从列表中获取最大值和最小值作为元组。我用下面的代码尝试了它,但无法真正弄清楚为什么它不起作用。我真的很感激一个小暗示我的推理错误是什么。非常感谢

seekMaxMin :: [Double] -> (Double,Double)
seekMaxMin [] = (0,0)
seekMaxMin [x] = (x,x)
seekMaxMin (x:rest) = (max x(seekMaxMin rest), min x(seekMaxMin rest))

最佳答案

seekMaxMin 返回最小值和最大值的元组,但在您的最后一个方程你首先假装它只返回最大值,其次它只返回最小值。您可以使用模式来提取它们并且也摆脱列表中多余的遍历。

seekMaxMin (x:rest) = (max x rmax, min x rmin)
where (rmax, rmin) = seekMaxMin(rest)

我也有点反对将空 double 列表的最小值设置为0,但也许它适合您使用此函数的任何目的。

关于list - Haskell 中列表的递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23386451/

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