Elementos maximales
Definir la función
1 |
maximales :: Eq a => (a -> a -> Bool) -> [a] -> [a] |
tal que (maximales r xs) es la lista de los elementos de xs para los que no hay ningún otro elemento de xs mayor según la relación r. Por ejemplo,
1 2 3 4 |
maximales (>) [2,3,4,6] == [6] maximales (<) [2,3,4,6] == [2] maximales (\x y -> mod x y == 0) [2,3,4,6] == [4,6] maximales (\x y -> mod y x == 0) [2,3,4,6] == [2,3] |
Soluciones
1 2 |
maximales :: Eq a => (a -> a -> Bool) -> [a] -> [a] maximales r xs = [x | x <- xs, null [y | y <- xs, y /= x, r y x]] |
2 Comentarios