Unión e intersección de listas
Crea una función que reciba dos arreglos no vacíos de enteros y devuelva dos arreglos en este orden:
- La intersección: valores presentes en ambas entradas.
- La unión: valores presentes en cualquiera de las entradas o en ambas.
Los arreglos de entrada pueden contener valores duplicados. Elimina los duplicados de ambos arreglos devueltos y ordena cada uno en orden ascendente.
Array 1: [5, 6, 6, 6, 8, 9]
Array 2: [3, 3, 4, 4, 5, 5, 8]
Intersection: [5, 8]
// 5 y 8 son los únicos valores presentes en ambos arreglos.
Union: [3, 4, 5, 6, 8, 9]
// Cada valor aparece en al menos uno de los arreglos.Ejemplos
intersection_union([1, 2, 3, 4, 4], [4, 5, 9]) ➞ [[4], [1, 2, 3, 4, 5, 9]]
intersection_union([1, 2, 3], [4, 5, 6]) ➞ [[], [1, 2, 3, 4, 5, 6]]
intersection_union([1, 1], [1, 1, 1, 1]) ➞ [[1], [1]]Notas
- Devuelve primero la intersección y luego la unión.
- Si las entradas son disjuntas, devuelve un arreglo vacío como intersección.