Tutte le sfide
Facile 0 risolte 0% di accettazione

Secondo Valore Più Grande

Trova il secondo valore distinto più grande.

Restituisci il secondo valore distinto più grande nella lista. I valori ripetuti contano una sola volta.

Implementa second_largest(numbers).

Input

numbers: Una lista di interi non negativi.

Output

Restituisci il secondo valore distinto più grande, oppure -1 se non esiste.

Vincoli

0 ≤ lunghezza ≤ 100.000; 0 ≤ ogni valore ≤ 10⁹

Esempi

Esempio 1
Input:
numbers = [4, 9, 7, 9]

Output atteso:
expected = 7
Input:
std::vector<long long> numbers = {4, 9, 7, 9};

Output atteso:
long long expected = 7;
Input:
long[] numbers = new long[] {4, 9, 7, 9};

Output atteso:
long expected = 7;

Spiegazione

I valori distinti sono 9, 7, 4; il secondo più grande è 7.

Esempio 2
Input:
numbers = [5, 5]

Output atteso:
expected = -1
Input:
std::vector<long long> numbers = {5, 5};

Output atteso:
long long expected = -1;
Input:
long[] numbers = new long[] {5, 5};

Output atteso:
long expected = -1;

Spiegazione

Esiste un solo valore distinto, quindi la risposta è -1.

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.