Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

408
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda