Menu
CoddyTech

First Missing Positive

Recibes un array desordenado de enteros nums. Devuelve el entero positivo más pequeño (1 o mayor) que no aparece en nums. El array puede contener números negativos, ceros, valores repetidos y valores mucho mayores que su longitud.

Función

firstMissingPositive(nums: integer-array) → integer
numsinteger-array
los enteros sin ordenar, que pueden repetirse y ser negativos, cero o muy grandes
Devuelveinteger
el entero positivo más pequeño que falta en nums

Restricciones

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Los valores no están en ningún orden en particular y pueden repetirse.

Ejemplos

Entrada
nums = [5, -2, 1, 3, 2, 9]
Salida
4
Explicación
1, 2 y 3 están todos en el array y 4 no está, así que la respuesta es 4. El 5 y el 9 no importan una vez que falta un valor menor.
challenge icon

Para ir más allá

¿Puedes encontrar la respuesta en tiempo O(n) usando solo O(1) de memoria adicional?

Restablecer código
def firstMissingPositive(nums):
    # Escribe el código aquí

Prueba #1

Prueba #2

Prueba #3

Argumento

nums = [5, -2, 1, 3, 2, 9]

Salida Esperada

4