Merge sorted files
1from heapq import *
2class Solution:
3 def mergeSortedFiles(self, sortedArrays):
4 minHeap = []
5 for i in range(len(sortedArrays)): heappush(minHeap, (sortedArrays[i][0][0], i, 0, sortedArrays[i][0]))
6
7 res = []
8 while minHeap:
9 time, i, j, file = heappop(minHeap)
10 res.append(file)
11 if j + 1 < len(sortedArrays[i]): heappush(minHeap, (sortedArrays[i][j + 1][0], i, j + 1, sortedArrays[i][j + 1]))
12
13 return res