Menu
CoddyTech

Longest Consecutive Sequence

MoyenHachagepython iconjava iconcpp iconc iconjs icon+10

Vous recevez un tableau d’entiers nums dans un ordre quelconque. Une séquence consécutive est un groupe de valeurs x, x+1, x+2, et ainsi de suite, chacune apparaissant quelque part dans nums. Renvoyez la longueur de la plus longue séquence 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érie 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 comporte que 3 valeurs.

lock icon+17 tests cachés à la soumission

challenge icon

Pour aller plus loin

Supposons que les valeurs arrivent une à la fois et qu’après chacune d’elles, vous devez indiquer la plus longue séquence jusqu’à présent. Pouvez-vous maintenir la réponse à jour en temps moyen O(1) par valeur ?

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

Cas 1

Cas 2

Cas 3

Entrée

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

Attendu

4