Función generalizada de fusión de arrays con comparador personalizado
TypeScript
Medium
generics
Tarea «Función generalizada de fusión de arrays con comparador personalizado»
Implemente una función generalizada `mergeArrays<T>` que recibe dos arrays de elementos de tipo `T` y una función comparadora `comparator: (a: T, b: T) => number`. La función debe devolver un nuevo array que contenga todos los elementos de ambos arrays, ordenados en orden ascendente según el comparador. Los arrays originales no deben modificarse. Si el comparador devuelve un número negativo, `a` se considera menor; positivo — `b` menor; cero — iguales. En caso de igualdad, el orden no es importante. Restricciones: las longitudes de los arrays son de 1 a 10^5, los elementos pueden ser de cualquier tipo.
Formato de entrada
La primera línea es la longitud del primer array N. La segunda línea son N elementos separados por espacios. La tercera línea es la longitud del segundo array M. La cuarta línea son M elementos separados por espacios. La quinta línea es una cadena con el comparador: 'number' para números (comparación ascendente), 'string' para cadenas (comparación lexicográfica).
Formato de salida
Una cadena con los elementos del array resultante, separados por espacios.
Ejemplos
Ejemplo 1
ENTRADA
5
3 1 4 1 5
SALIDA
1 1 3 4 5
main.ts