Tous les défis
Facile 0 résolus 0 % de réussite

Deuxième plus grande valeur

Trouver la deuxième plus grande valeur distincte.

Retournez la deuxième plus grande valeur distincte de la liste. Les valeurs répétées ne comptent qu'une seule fois.

Implémentez second_largest(numbers).

Entrée

numbers : Une liste d'entiers non négatifs.

Sortie

Retournez la deuxième plus grande valeur distincte, ou -1 si elle n'existe pas.

Contraintes

0 ≤ longueur ≤ 100 000 ; 0 ≤ chaque valeur ≤ 10⁹

Exemples

Exemple 1
Entrée :
numbers = [4, 9, 7, 9]

Sortie attendue :
expected = 7
Entrée :
std::vector<long long> numbers = {4, 9, 7, 9};

Sortie attendue :
long long expected = 7;
Entrée :
long[] numbers = new long[] {4, 9, 7, 9};

Sortie attendue :
long expected = 7;

Explication

Les valeurs distinctes sont 9, 7, 4 ; la deuxième plus grande est 7.

Exemple 2
Entrée :
numbers = [5, 5]

Sortie attendue :
expected = -1
Entrée :
std::vector<long long> numbers = {5, 5};

Sortie attendue :
long long expected = -1;
Entrée :
long[] numbers = new long[] {5, 5};

Sortie attendue :
long expected = -1;

Explication

Il n'existe qu'une seule valeur distincte, donc la réponse est -1.

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.