Lista con repeticiones
Definir la función
1 |
tieneRepeticiones :: Eq a => [a] -> Bool |
tal que (tieneRepeticiones xs) se verifica si xs tiene algún elemento repetido. Por ejemplo,
1 2 3 4 |
tieneRepeticiones [3,2,5,2,7] == True tieneRepeticiones [3,2,5,4,7] == False tieneRepeticiones (5:[1..2000000000]) == True tieneRepeticiones [1..20000] == False |
Soluciones
1 2 3 |
tieneRepeticiones :: Eq a => [a] -> Bool tieneRepeticiones [] = False tieneRepeticiones (x:xs) = x `elem` xs || tieneRepeticiones xs |
Algo más compacta:
— Me falta Import Data.List
{-Arriba tienen soluciones más cortas y simples,lo que voy a hacer es simplificar un poco la mía-}
tieneRepeticiones2 :: Eq a => [a] -> Bool
tieneRepeticiones2 xs | length[(a,b)|(a,b)0 =True
|otherwise = False
where n =length xs
{-Arriba tienen soluciones más cortas y simples,lo que voy a hacer es simplificar un poco la mía-}