合并N个长度为M的有序数组为一个N*M的有序数组

题目:合并N个有序数组,每个数组的长度为M,合并为N*M的有序数组。时间复杂度要求最低

解法:N个数组进行两两合并,合并后的数组再继续执行合并过程,最后合成N*M的有序数组。可以认为合并这个递归过程发生了logN次,每一次合并的过程都是N*M个数合并,所以时间复杂度为N*M,总的时间复杂度就是N*M*logN

代码如下:

猜你喜欢

转载自www.cnblogs.com/lzxin/p/11888176.html