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

407
Vistas
¿Hay alguna fuga en mi código, solo 1 caso no funciona, no sé por qué?

Estoy tratando de escribir un programa para mover todos los ceros al final de la matriz y retener el orden original de otros elementos.

Aquí está mi código: -

 var moveZeros = function (arr) { // TODO: Program me var k=0; for (var i=0;i<=arr.length-1;i++){ var s=arr[i]; if (s===0){ arr.splice(i,1); k++ } } for (var j=0;j<=k-1;j++){ arr.push(0); } return arr }

Pero cuando los ceros están uno al lado del otro como [1,0,0,1] no funciona.

No veo por qué.

¿Puede alguien decir?

Y también explique por qué k-1 no k Escribí k-1 observando la salida. Por favor, no diga la respuesta al problema original, solo quiero solucionar el problema con mi código. :)

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El problema es que en cada bucle aumentas la variable i en uno. Es decir, vas al siguiente índice. Pero si tiene 2 o más ceros en la fila y elimina el primero, no debe cambiar i a i i + 1 , porque ya apunto a un nuevo valor en la matriz (que es cero) :)

 var moveZeros = function (arr) { // TODO: Program me var k = 0; for (var i = 0; i <= arr.length - 1;) { var s = arr[i]; if (s === 0) { arr.splice(i, 1); k++; } else { i++; } } for (var j = 0; j <= k - 1; j++) { arr.push(0); } return arr; }; console.log(moveZeros([1,0,0,2]));
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