Объединение интервалов

Medium
Дан массив интервалов intervals, где каждый элемент — пара [start, end]. Объедините все пересекающиеся и касающиеся интервалы и верните минимальный набор непересекающихся интервалов, покрывающих тот же диапазон.

Примеры:

Вход: [[1, 3], [2, 6], [8, 10], [15, 18]]
Выход: [[1, 6], [8, 10], [15, 18]]
Объяснение: [1,3] и [2,6] пересекаются → [1,6]; [8,10] и [15,18] ни с кем не пересекаются → остаются как есть.
Вход: [[1, 4], [4, 5]]
Выход: [[1, 5]]
Объяснение: [1,4] и [4,5] касаются в точке 4, поэтому сливаются в один интервал [1,5].
Вход: [[1, 4], [0, 4]]
Выход: [[0, 4]]
Объяснение: [1,4] полностью лежит внутри [0,4] (или наоборот перекрывается), итог — один интервал [0,4].

Ограничения:

0 <= intervals.length <= 10000 intervals[i].length == 2 0 <= start_i <= end_i <= 10000

Теги:

Часто на собесе Массивы Сортировка Интервалы

Комментарии (0)

Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!