Given an array of intervals where intervals[i] = [startᵢ, endᵢ], merge all overlapping intervals and return the non-overlapping intervals that cover all the input, sorted by start.
intervals
intervals[i] = [startᵢ, endᵢ]
[[1,3],[2,6],[8,10],[15,18]]
[[1,4],[4,5]]
[[1,4],[0,4]]