Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
Encontrar la suma divisible más alta de elementos en una matriz Javascript

Necesito encontrar la suma más alta posible de números en una matriz que se pasa a una función que se puede dividir sin resto.

Estoy luchando por pensar en una forma de iterar a través de una serie de elementos sumando todas las posibilidades y dividiendo por el parámetro k , que es el número de la división.

Pensé en usar un bucle for y luego pasar el resultado a una variable en cada iteración.

La parte que no entiendo es cómo sumar todas las combinaciones posibles de los números en la matriz. Como puedo agregarlos secuencialmente desde el comienzo de la matriz hasta el último elemento, pero no en todas las combinaciones, como elemento en el índice 0 , elemento en el índice 3 , etc.

Soy bastante nuevo en la codificación, las explicaciones de cómo podría abordar el desafío de iteración que tengo serían muy apreciadas.

 function luckyCandies(prizes, k) { let sum = 0; let remainder = 0; let maxCandies = 0; let highestNumber = 0; prizes.sort(function(a, b) { return b - a; }); for (let i = 0; i < prizes.length; i++) { sum = sum + prizes[i]; } for (let i = 0; i < prizes.length; i++) { if (sum % k == 0) { sum = sum - prizes[i]; } } console.log(sum); return sum; }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Implementó esta solución para su caso de uso en función de las respuestas en este archivo .

En el enlace dado, las soluciones son para la suma más alta posible de números dado el divisible 3 , pero no será un problema ya que hay una explicación adecuada y detallada.

 const maxSumDivByNo = (A, no) => { const K = Array(no).fill().map((v,i) => 0); for (let x of A) { let pre = [...K]; // create current from previous 🤔 for (let y of pre) K[(x + y) % no] = Math.max(K[(x + y) % no], x + y); // add A[i] (ie. x) onto each previous bucket and update each current bucket to max of itself and the current sum (x + y) } return K[0]; // max sum of all N items of A which is evenly divisible by no 🎯 }; const A = [1, 2, 3, 4, 5]; const no = 5; console.log(maxSumDivByNo(A, no)); // --> 15 const A1 = [1, 6, 2, 9, 5]; const no1 = 8 console.log(maxSumDivByNo(A1, no1)); // --> 16

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda