Vektormagie: Entfernen von Duplikaten unter Beibehaltung der Reihenfolge

C++ Hard vectors

Aufgabe «Vektormagie: Entfernen von Duplikaten unter Beibehaltung der Reihenfolge»

Gegeben ist ein Vektor von ganzen Zahlen. Es müssen alle Duplikate daraus entfernt werden, wobei nur das erste Vorkommen jedes Elements erhalten bleibt und die Reihenfolge der Elemente beibehalten werden muss. Implementieren Sie eine Funktion, die einen Vektor entgegennimmt und einen neuen Vektor ohne Duplikate zurückgibt. Die Verwendung von std::set oder std::unordered_set ist verboten. Eingabedaten: zuerst eine ganze Zahl N (1 ≤ N ≤ 10^5) — die Anzahl der Elemente, dann N ganze Zahlen, deren Absolutbetrag jeweils 10^9 nicht übersteigt. Geben Sie den resultierenden Vektor durch Leerzeichen getrennt aus.

Eingabeformat

Erste Zeile: eine ganze Zahl N (1 ≤ N ≤ 10^5). Zweite Zeile: N durch Leerzeichen getrennte ganze Zahlen.

Ausgabeformat

Eine Zeile: die Elemente des resultierenden Vektors, durch Leerzeichen getrennt.

Beispiele

Beispiel 1

EINGABE
5 1 2 3 2 1
AUSGABE
1 2 3

Beispiel 2

EINGABE
6 4 5 6 5 4 3
AUSGABE
4 5 6 3

Beispiel 3

EINGABE
5 1 2 3 4 5
AUSGABE
1 2 3 4 5

Beispiel 4

EINGABE
4 7 7 7 7
AUSGABE
7

Beispiel 5

EINGABE
8 2 5 2 8 5 6 8 8
AUSGABE
2 5 8 6
main.cpp