Cho một mảng các khoảng thời gian intervals, trong đó intervals[i] = [start_i, end_i]. Hãy hợp nhất tất cả các khoảng bị chồng lấn và trả về mảng các khoảng không chồng lấn.
Ví dụ 1: intervals = [[1,3],[2,6],[8,10],[15,18]] -> [[1,6],[8,10],[15,18]] (vì [1,3] và [2,6] chồng lấn thành [1,6]).
Định Dạng Đầu Vào (Input)
Định Dạng Đầu Ra (Output)
Ràng Buộc (Constraints)
1 <= intervals.length <= 10^4
Ví Dụ Kiểm Thử Mẫu
[[1,3],[2,6],[8,10],[15,18]]
[[1,6],[8,10],[15,18]]
[[1,4],[4,5]]
[[1,5]]
Kỹ thuật Sắp Xếp & Hợp Nhất O(n log n)
Sắp xếp các khoảng theo thời điểm bắt đầu start. Duyệt qua từng khoảng: Nếu khoảng hiện tại chồng lấn với khoảng trước (start <= prev.end), mở rộng prev.end = max(prev.end, end). Ngược lại thêm khoảng mới.
Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.



