Listas disjuntas
Definir la función
disjuntas :: Ord a => [a] -> [a] -> Bool
tal que (disjuntas xs ys) se verifica si las listas ordenadas crecientemente xs e ys son disjuntas. Por ejemplo,
disjuntas [2,5] [1,4,7] == True disjuntas [2,5,7] [1,4,7] == False disjuntas [1..1000000] [3000000..4000000] == True
Soluciones
disjuntas :: Ord a => [a] -> [a] -> Bool disjuntas xs [] = True disjuntas [] ys = True disjuntas xs'@(x:xs) ys'@(y:ys) | x < y = disjuntas xs ys' | x == y = False | x > y = disjuntas xs' ys