Zusammenführen zweier sortierter Slices unter Entfernung von Duplikaten

Go Medium slices

Aufgabe «Zusammenführen zweier sortierter Slices unter Entfernung von Duplikaten»

Gegeben sind zwei aufsteigend sortierte Slices von ganzen Zahlen. Führen Sie sie zu einem einzigen sortierten Slice zusammen, indem Sie alle Duplikate entfernen. Implementieren Sie die Funktion MergeSortedUnique(a, b []int) []int, die zwei Slices entgegennimmt und ein neues Slice zurückgibt. Die Eingabedaten werden von stdin gelesen: zuerst die Länge des ersten Slices, dann seine Elemente, danach die Länge des zweiten Slices und seine Elemente. Geben Sie das resultierende Slice, durch Leerzeichen getrennt, aus.

Eingabeformat

Erste Zeile: eine ganze Zahl n (0 ≤ n ≤ 1000) — die Länge des ersten Slices. Zweite Zeile: n ganze Zahlen, aufsteigend sortiert. Dritte Zeile: eine ganze Zahl m (0 ≤ m ≤ 1000). Vierte Zeile: m ganze Zahlen, aufsteigend sortiert.

Ausgabeformat

Eine Zeile: die Elemente des resultierenden, aufsteigend sortierten Slices ohne Duplikate, durch Leerzeichen getrennt.

Beispiele

Beispiel 1

EINGABE
3 1 1 2 3 1 2 3
AUSGABE
1 2 3

Beispiel 2

EINGABE
3 0 0 1
AUSGABE
3
main.go