Solución

@loredovictor75_657e5d57·29/7/2026TypeScript
solution.tsTypeScript
function findFirstMissingPositive(entry: string): number {
  const numbers: number[] = JSON.parse(entry);
  let i = 0;
  while (i < numbers.length) {
    const current = numbers[i];
    const expected = i + 1;
    if (
      (current > 0) &&
      (current < numbers.length) &&
      (current !== expected) &&
      (numbers[current - 1] !== current)) {
      swap(numbers, i, current - 1);
    } else {
      i++;
    }
  }
  for (let i = 0; i < numbers.length; i++) {
    if (numbers[i] !== i + 1) return i + 1;
  }
  return numbers.length + 1;
}

function swap(numbers: number[], first: number, second: number) {
  const temp = numbers[first];
  numbers[first] = numbers[second];
  numbers[second] = temp;
}

// No modificar: necesario para evaluar el resultado.
export { findFirstMissingPositive };
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.