我需要找到矩阵中的最小元素.我有一个解决方案,但它并不完美.
type Matrix = [[Int]] matMin :: Matrix -> Int matMin [] = 99999999999 matMin (xs:xss) = minimum xs `min` matMin xss
任何人都可以给我一个更好的解决方案吗?
我能想到的最简单的事情就是 matMin = minimum . concat
看看map
功能.矩阵的最小值是每行最小值之间的最小值:
Prelude> :t minimum . map minimum minimum . map minimum :: Ord c => [[c]] -> c