Merge Intervals - Read Statement

Given an array of intervals where intervals[i] = [start, end], merge all overlapping intervals and return an array of non-overlapping intervals that cover all the input intervals.

Example: [[1,3],[2,6],[8,10],[15,18]] becomes [[1,6],[8,10],[15,18]] because [1,3][1,3] and [2,6][2,6] overlap.