Given k sorted integer arrays, merge them into one sorted array.
Example
Given 3 sorted arrays:
[
[1, 3, 5, 7],
[2, 4, 6],
[0, 8, 9, 10, 11]
]
return [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
.
java
public class Solution {
/*
* @param arrays: k sorted integer arrays
* @return: a sorted array
*/
public int[] mergekSortedArrays(int[][] arrays) {
// write your code here
Queue<Integer> queue = new PriorityQueue<>();
for (int i = 0; i < arrays.length; i++) {
for (int j = 0; j < arrays[i].length; j++) {
queue.offer(arrays[i][j]);
}
}
int[] arr = new int[queue.size()];
for (int i = 0; i < arr.length; i++) {
arr[i] = queue.poll();
}
return arr;
}
}
python
import heapq
class Solution:
"""
@param: arrays: k sorted integer arrays
@return: a sorted array
"""
def mergekSortedArrays(self, arrays):
# write your code here
h = []
for ele in arrays:
h += ele
h.sort()
return h