最大数最小数Haskell

所以我有一个列表列表,我必须找出每个列表的最小值并获得最小值的最大值

例子:

最大值最小值 [[1], [3, 5, 4], [8, 2]] == 3

这是我尝试的方式:

maxMin :: [[a]] -> a
maxMin (x:xs) = minimum(map maximum (x:xs))

回答

你反过来做了。在这里,您正在计算每个列表的最大值中的最小值。此外,签名有一个问题:您需要添加一个类型约束,它aOrd类型类的一个实例:

maxMin :: Ord a => [[a]] -> a
maxMin xs = maximum (map minimum xs)

或作为无点表达式:

maxMin :: Ord a => [[a]] -> a
maxMin = maximum . map minimum

请注意,这,如果列表为空,或者子列表的一个是空的工作。


以上是最大数最小数Haskell的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>