Solution: Merge a Number of Sorted Arrays
This review discusses the solution of the Merge Sorted Arrays challenge in detail.
We'll cover the following
Solution # 1
A naive solution to this problem is to append all the k
arrays one after another in the output array and sort the output array using the std:: sort()
function.
Time Complexity
Appending k sorted arrays into one output array would take . Since std::sort()
runs in and the size of the output array is , sorting would take . The total time complexity of this naive solution would thus be .
Solution # 2 (Efficient)
The divide and conquer approach to this problem emerges when we start looking at the k
arrays as the intermediate state of the merge sort algorithm.
In other words, k
sorted arrays in the merge sort algorithm wait to be merged into a bigger, merged, and sorted array.
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.