Menu
CoddyTech

First Missing Positive

On vous donne un tableau non trié d’entiers nums. Retournez le plus petit entier positif (supérieur ou égal à 1) qui n’apparaît pas dans nums. Le tableau peut contenir des nombres négatifs, des zéros, des valeurs répétées et des valeurs bien supérieures à sa longueur.

Fonction

firstMissingPositive(nums: integer-array) → integer
numsinteger-array
les nombres entiers non triés, qui peuvent se répéter et être négatifs, nuls ou très grands
Renvoieinteger
le plus petit entier positif absent de nums

Contraintes

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Les valeurs ne sont dans aucun ordre particulier et peuvent se répéter.

Exemples

Entrée
nums = [5, -2, 1, 3, 2, 9]
Sortie
4
Explication
1, 2 et 3 sont tous dans le tableau et 4 n’y est pas, donc la réponse est 4. Le 5 et le 9 n’ont pas d’importance dès qu’une valeur plus petite est manquante.
challenge icon

Pour aller plus loin

Peux-tu trouver la réponse en temps O(n) en n’utilisant que O(1) mémoire supplémentaire ?

Réinitialiser le code
def firstMissingPositive(nums):
    # Écrivez le code ici

Test #1

Test #2

Test #3

Argument

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

Résultat attendu

4