es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Compruebe múltiples arreglos en busca de una subsecuencia de suma cero.

Me gustaría verificar múltiples arreglos para comprobar si su suma es igual a cero y en caso afirmativo, mostrar ‘sí’. Pero solo el primer arreglo es leído por el código.

Debería haber 3 salidas de (verdadero o falso), pero solo obtengo 1 salida en cambio.

const arr0 = [3];
const arr1 = [4];
const arr2 = [2, 8, -9, 1];

const arr = [arr0, arr1, arr2];

const zeroSum = arr => {
const map = new Map();
let sum = 0;
for(let i = 0; i < arr.length; i++){
sum += arr[i];
if(sum === 0 || map.get(sum)){
return true;
};
map.set(sum, i);
};
return false;
};
console.log(zeroSum(arr));

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Necesitas recorrer cada arreglo en el arreglo arr y verificar si la suma de cada arreglo es igual a cero. Puedes hacer esto usando un ciclo for para recorrer cada arreglo en el arreglo arr y luego usar la función zeroSum para verificar si la suma de cada arreglo es igual a cero.

    const arr0 = [3];
    const arr1 = [4];
    const arr2 = [2, 8, -9, 1];    
    
    const arr = [arr0, arr1, arr2];
    
    const zeroSum = arr => {
       let sum = 0;
       for(let i = 0; i < arr.length; i++){
          for(let j = 0; j < arr[i].length; j++){
             sum += arr[i][j];
          }
          if(sum === 0){
             return true;
          };
          sum = 0;
       };
       return false;
    };
    console.log(zeroSum(arr));
    

Comments are closed.