Arreglo equilibrado
Dado un arreglo de longitud par, copia la mitad con la mayor suma de números sobre la otra mitad del arreglo. Si la suma de la primera mitad es igual a la suma de la segunda, devuelve el arreglo original.
Ejemplos
balanced([1, 2, 4, 6, 3, 1]) ➞ [6, 3, 1, 6, 3, 1]
# 1 + 2 + 4 < 6 + 3 + 1 da como resultado = [6, 3, 1, 6, 3, 1]
balanced([88, 3, 27, 5, 9, 0, 13, 10]) ➞ [88, 3, 27, 5, 88, 3, 27, 5]
# 88 + 3 + 27 + 5 > 9 + 0 + 13 + 10 da como resultado = [88, 3, 27, 5, 88, 3, 27, 5]
balanced([7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]) ➞ [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]
# 7 + 5 + 2 + 6 + 1 + 0 = 1 + 5 + 2 + 7 + 0 + 6 da como resultado = [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]Notas
La longitud del arreglo es par.
Ejemplo en Java
assertArrayEquals(new int[]{6, 3, 1, 6, 3, 1}, Program.balanced(new int[]{1, 2, 4, 6, 3, 1}));