Escreva uma função que retorne todos os conjuntos de três elementos cuja soma seja 0.
Exemplos
threeSum([0, 1, -1, -1, 2]) ➞ [[0, 1, -1], [-1, -1, 2]]
threeSum([0, 0, 0, 5, -5]) ➞ [[0, 0, 0], [0, 5, -5]]
threeSum([1, 2, 3]) ➞ []
threeSum([1]) ➞ []
Observações
- O array original pode conter números duplicados.
- Cada subarray de três elementos na sua saída deve ser distinto.
- Os subarrays devem ser ordenados pelo primeiro elemento do subarray.
- Os próprios subarrays devem ser ordenados da mesma forma que o array original.
- Retorne um array vazio se nenhum conjunto de três elementos somar zero.
- Retorne um array vazio se houver menos de três elementos.