União e interseção de listas
Crie uma função que receba dois arrays não vazios de números inteiros e retorne dois arrays nesta ordem:
- A interseção: valores presentes em ambas as entradas.
- A união: valores presentes em uma das entradas ou em ambas.
Os arrays de entrada podem conter valores duplicados. Remova os valores duplicados de ambos os arrays retornados e ordene cada um em ordem crescente.
Array 1: [5, 6, 6, 6, 8, 9]
Array 2: [3, 3, 4, 4, 5, 5, 8]
Intersection: [5, 8]
// 5 e 8 são os únicos valores presentes em ambos os arrays.
Union: [3, 4, 5, 6, 8, 9]
// Cada valor aparece em pelo menos um dos arrays.Exemplos
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
- Retorne primeiro a interseção e depois a união.
- Se as entradas forem disjuntas, retorne um array vazio para a interseção.