Menu
CoddyTech

Longest Consecutive Sequence

MoyenHachagepython iconjava iconcpp iconc iconjs icon+10

On vous donne un tableau d’entiers nums dans un ordre quelconque. Une suite consécutive est un groupe de valeurs x, x+1, x+2, et ainsi de suite, dont chacune apparaît quelque part dans nums. Renvoyez la longueur de la plus longue suite consécutive. Une valeur qui apparaît plusieurs fois ne compte qu’une seule fois.

Fonction

longestConsecutive(nums: integer-array) → integer
numsinteger-array
les entiers, dans n’importe quel ordre, répétitions autorisées
Renvoieinteger
la longueur de la plus longue séquence de valeurs consécutives présentes dans nums

Contraintes

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Les valeurs peuvent se répéter. Les positions dans le tableau n’ont pas d’importance, seule compte la présence des valeurs.

Exemples

Entrée
nums = [40, 4, 39, 1, 3, 2, 41]
Sortie
4
Explication
1, 2, 3 et 4 sont tous présents, une suite de 4, même s’ils sont dispersés dans le tableau. L’autre suite, de 39 à 41, ne contient que 3 valeurs.
challenge icon

Pour aller plus loin

Supposons que les valeurs arrivent une par une et qu’après chacune, tu doives indiquer la plus longue séquence jusqu’ici. Peux-tu garder la réponse à jour en O(1) en moyenne par valeur ?

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

Test #1

Test #2

Test #3

Argument

nums = [40, 4, 39, 1, 3, 2, 41]

Résultat attendu

4