Verallgemeinerte Funktion zum Zusammenführen von Arrays mit benutzerdefiniertem Komparator

TypeScript Medium generics

Aufgabe «Verallgemeinerte Funktion zum Zusammenführen von Arrays mit benutzerdefiniertem Komparator»

Implementieren Sie eine verallgemeinerte Funktion `mergeArrays<T>`, die zwei Arrays von Elementen vom Typ `T` und eine Komparatorfunktion `comparator: (a: T, b: T) => number` akzeptiert. Die Funktion soll ein neues Array zurückgeben, das alle Elemente aus beiden Arrays enthält, die gemäß dem Komparator in aufsteigender Reihenfolge sortiert sind. Die ursprünglichen Arrays dürfen nicht verändert werden. Wenn der Komparator eine negative Zahl zurückgibt, gilt `a` als kleiner; bei einer positiven Zahl gilt `b` als kleiner; bei Null gelten sie als gleich. Bei Gleichheit ist die Reihenfolge nicht wichtig. Einschränkungen: Die Längen der Arrays liegen zwischen 1 und 10^5, die Elemente können beliebigen Typs sein.

Eingabeformat

Die erste Zeile ist die Länge N des ersten Arrays. Die zweite Zeile enthält N Elemente, durch Leerzeichen getrennt. Die dritte Zeile ist die Länge M des zweiten Arrays. Die vierte Zeile enthält M Elemente, durch Leerzeichen getrennt. Die fünfte Zeile ist eine Zeichenfolge mit dem Komparator: 'number' für Zahlen (aufsteigender Vergleich), 'string' für Zeichenfolgen (lexikografischer Vergleich).

Ausgabeformat

Eine Zeile mit den Elementen des resultierenden Arrays, durch Leerzeichen getrennt.

Beispiele

Beispiel 1

EINGABE
5 3 1 4 1 5
AUSGABE
1 1 3 4 5
main.ts