Problem
Gib die Liste zurück, in der wiederholte Werte entfernt wurden, wobei das erste Vorkommen jedes Werts in seiner ursprünglichen Reihenfolge erhalten bleibt.
Implementiere remove_duplicates(numbers).
Eingabe
numbers: Die Liste der Ganzzahlen.
Ausgabe
Gib die Liste ohne Duplikate zurück.
Einschränkungen
0 ≤ Länge ≤ 100.000
Beispiele
Eingabe:
numbers = [3, 1, 3, 2, 1]
Erwartete Ausgabe:
expected = [3, 1, 2]
Eingabe:
std::vector<long long> numbers = {3, 1, 3, 2, 1};
Erwartete Ausgabe:
std::vector<long long> expected = {3, 1, 2};
Eingabe:
long[] numbers = new long[] {3, 1, 3, 2, 1};
Erwartete Ausgabe:
long[] expected = new long[] {3, 1, 2};
Erläuterung
Behalte 3, dann 1, dann 2; das spätere 3 und 1 werden entfernt: [3, 1, 2].
Eingabe:
numbers = [7, 7, 7]
Erwartete Ausgabe:
expected = [7]
Eingabe:
std::vector<long long> numbers = {7, 7, 7};
Erwartete Ausgabe:
std::vector<long long> expected = {7};
Eingabe:
long[] numbers = new long[] {7, 7, 7};
Erwartete Ausgabe:
long[] expected = new long[] {7};
Erläuterung
Nur das erste 7 bleibt erhalten: [7].
So gehst du vor
Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.
Hinweis 1
Behalte das erste Vorkommen jedes Werts und ignoriere spätere Wiederholungen.
Hinweis 2
Eine Menge oder ein ähnlicher Lookup hilft dir schnell zu entscheiden, ob ein Wert schon gesehen wurde.
Hinweis 3
Bewahre die ursprüngliche Reihenfolge der ersten Vorkommen, nicht die sortierte Reihenfolge.
Erwartete Komplexität
Zeit O(n), zusätzlicher Speicher O(n)
Referenzen
Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.