我正在嘗試編寫haskell函數,該函數使用列表的列表並找到所有高值的最低值。找到所有高值的最低值
所以函數接受列表[[1,1,3],[2,5],[1]]並返回1,因爲它的最低值爲3,5,1。
我可以使用什麼樣的haskell函數?
我正在嘗試編寫haskell函數,該函數使用列表的列表並找到所有高值的最低值。找到所有高值的最低值
所以函數接受列表[[1,1,3],[2,5],[1]]並返回1,因爲它的最低值爲3,5,1。
我可以使用什麼樣的haskell函數?
使用列表理解:
maxi xxs = minimum [ maximum a | a <- xxs]
(我在哈斯克爾初學者...和編碼這是第一次。我在這裏以防萬一弄明白答案所以,Gratzz給我!:P)
包含Data.List模塊有用的功能,
:browse Data.List
在ghci中
。
(看起來很像功課,所以......)
認爲「一步一步」:首先,你需要找到各列表的所有最大值,如:
map maximum [[1,1,3],[2,5],[1]]
--[3,5,1]
然後你需要這個列表的最小值。所以,一個解決辦法是:
minOfMax xs = minimum (map maximum xs)
當然你也可以寫自己的遞歸解決方案,或使用折:
minOfMax (x:xs) = foldl f (maximum x) xs where
f a bs = min a (maximum bs)
能否請你定義的「高值」多一點? –
這是功課嗎? –
這不是我要交給我的。我正在爲編程朗讀課程考試做準備。所以我試圖解決儘可能多的問題,並且無法弄清楚。 – krunarsson