Dado un número entero n, devuelva cualquier matriz que consta de n números enteros diferentes, y la suma de estos n números es 0.
Ejemplo 1:
Entrada: n = 5
Salida: [-7, -1,1,3,4]
Explicación: Estas matrices también son correctas [-5, -1,1,2,3], [-3, -1,2, -2,4].
Ejemplo 2:
Entrada: n = 3
Salida: [-1,0,1]
Ejemplo 3:
Entrada: n = 1
Salida: [0]
Recordatorio:
1 <= n <= 1000
Fuente de la pregunta: Likou 1304
La primera reacción, una positiva y otra negativa, suma 0 al número impar y está bien.
Las posibles soluciones son:
n = 1, [0]
n = 2, [-1, 1]
n = 3, [-2, 0, 2]
n = 4, [-3, -1, 1, 3]
n = 5, [-4, -2, 0, 2, 4]
Esta solución se compone de una fórmula:
ret[i] = i * 2 - n + 1;
Entonces el código es el siguiente:
/**
* @param {number} n
* @return {number[]}
*/
var sumZero = function(n) {
var arr=[];
var i;
for(i=0;i<n;i++){
arr[i] = i * 2 - n + 1;
}
return arr;
};