União e interseção de listas
Crie uma função que receba duas listas e retorne uma lista de interseção e uma lista de união.
- Lista de interseção: Elementos compartilhados pelas duas listas.
- Lista de união: Elementos que existem na primeira lista, na segunda ou em ambas (não uma OR exclusiva).
Embora as listas de entrada possam conter números duplicados, as listas de interseção e união retornadas devem ser convertidas em conjuntos; isto é, não devem conter duplicatas. As listas retornadas devem ser ordenadas em ordem crescente.
List 1: [5, 6, 6, 6, 8, 9]
List 2: [3, 3, 4, 4, 5, 5, 8]
Intersection: [5, 8]
# 5 e 8 são os únicos 2 números que existem nas duas listas.
Union: [3, 4, 5, 6, 8, 9]
# Cada número existe em pelo menos uma lista.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]]Observações
- A ordem da saída deve ser:
[Intersection], [Union]. - Lembre-se de que ambas as listas de saída devem estar em ordem crescente.
- Cada lista de entrada terá pelo menos um elemento.
- Se as duas listas forem disjuntas (não compartilharem nenhum elemento), retorne uma lista vazia
[]para a interseção.