Solución
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