通用数组合并函数(带自定义比较器)

TypeScript Medium generics

任务 «通用数组合并函数(带自定义比较器)»

实现一个泛型函数 `mergeArrays<T>`,它接收两个类型为 `T` 的元素数组和一个比较器函数 `comparator: (a: T, b: T) => number`。该函数应返回一个新数组,包含两个数组中的所有元素,并根据比较器按升序排序。原始数组不应被修改。如果比较器返回负数,则 `a` 被视为较小;返回正数则 `b` 较小;返回零则表示相等。当元素相等时,顺序无关紧要。限制条件:数组长度在 1 到 10^5 之间,元素可以是任意类型。

输入格式

第一行是第一个数组的长度N。第二行是N个元素,以空格分隔。第三行是第二个数组的长度M。第四行是M个元素,以空格分隔。第五行是包含比较器的字符串:'number'表示数字(按升序比较),'string'表示字符串(按字典序比较)。

输出格式

包含结果数组元素的字符串,元素之间用空格分隔。

示例

示例 1

输入
5 3 1 4 1 5
输出
1 1 3 4 5
main.ts