Einfach 0 gelöst 0% Erfolgsquote

Zweitgrößter Wert

Finde den zweitgrößten eindeutigen Wert.

Gib den zweitgrößten eindeutigen Wert in der Liste zurück. Wiederholte Werte zählen nur einmal.

Implementiere second_largest(numbers).

Eingabe

numbers: Eine Liste von nicht-negativen Ganzzahlen.

Ausgabe

Gib den zweitgrößten eindeutigen Wert zurück, oder -1, falls dieser nicht existiert.

Einschränkungen

0 ≤ Länge ≤ 100.000; 0 ≤ jeder Wert ≤ 10⁹

Beispiele

Beispiel 1
Eingabe:
numbers = [4, 9, 7, 9]

Erwartete Ausgabe:
expected = 7
Eingabe:
std::vector<long long> numbers = {4, 9, 7, 9};

Erwartete Ausgabe:
long long expected = 7;
Eingabe:
long[] numbers = new long[] {4, 9, 7, 9};

Erwartete Ausgabe:
long expected = 7;

Erläuterung

Eindeutige Werte sind 9, 7, 4; der zweitgrößte ist 7.

Beispiel 2
Eingabe:
numbers = [5, 5]

Erwartete Ausgabe:
expected = -1
Eingabe:
std::vector<long long> numbers = {5, 5};

Erwartete Ausgabe:
long long expected = -1;
Eingabe:
long[] numbers = new long[] {5, 5};

Erwartete Ausgabe:
long expected = -1;

Erläuterung

Es existiert nur ein eindeutiger Wert, daher ist die Antwort -1.

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.