Escribe una función que devuelva todos los conjuntos de tres elementos cuya suma sea 0.
Ejemplos
ThreeSum(new int[] { 0, 1, -1, -1, 2 }) ➞ { { 0, 1, -1 }, { -1, -1, 2 } }
ThreeSum(new int[] { 0, 0, 0, 5, -5 }) ➞ { { 0, 0, 0 }, { 0, 5, -5 } }
ThreeSum(new int[] { 1, 2, 3 }) ➞ { }
ThreeSum(new int[1]) ➞ { }
Notas
- El arreglo original puede contener números duplicados.
- Cada subarreglo de tres elementos en tu salida debe ser distinto.
- Los subarreglos deben estar ordenados por el primer elemento del subarreglo.
- Los subarreglos deben estar ordenados de la misma manera que el arreglo original.
- Devuelve un arreglo vacío si ningún conjunto de tres elementos suma cero.
- Devuelve un arreglo vacío si hay menos de tres elementos.