Given an array of intervals, merge all overlapping intervals.
Given an array of `intervals` where `intervals[i] = [start_i, end_i]`, merge all overlapping intervals, and return an array of the non-overlapping intervals.
Invariant: Output list contains merged, non-overlapping intervals in ascending order.
Sorting intervals by start time reduces overlap detection from O(N²) to O(N log N) linear scan.
Bottleneck: Dominated by initial sort.
Given an array of intervals, merge all overlapping intervals.
Given an array of `intervals` where `intervals[i] = [start_i, end_i]`, merge all overlapping intervals, and return an array of the non-overlapping intervals.
Invariant: Output list contains merged, non-overlapping intervals in ascending order.
Sorting intervals by start time reduces overlap detection from O(N²) to O(N log N) linear scan.
Bottleneck: Dominated by initial sort.
Sorted intervals by start time. Initialized output list with first interval [1, 3].