Given an array of intervals, merge all overlapping intervals.
Sample Input:
[[1,3],[2,6],[8,10],[15,18]]
Sample Output:
[[1,6],[8,10],[15,18]]
Hints
Hint 1
Sort intervals by their start time
Hint 2
Iterate through sorted intervals and merge when overlapping
Hint 3
Two intervals overlap if current.start <= previous.end