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

MediumAlgo
10:00
Лучше работает на десктопе
SortingIntervals

Дан массив интервалов intervals, где intervals[i] = [start_i, end_i]. Объедините все перекрывающиеся интервалы и верните массив непересекающихся интервалов, покрывающих все входные.

Результат отсортирован по началу интервала.

Сигнатура

def merge_intervals(intervals: list[list[int]]) -> list[list[int]]:

Примеры

merge_intervals([[1,3],[2,6],[8,10],[15,18]]) → [[1,6],[8,10],[15,18]]
merge_intervals([[1,4],[4,5]]) → [[1,5]]

Constraints

- 1 ≤ len(intervals) ≤ 10⁴
- 0 ≤ start_i ≤ end_i ≤ 10⁴

Примеры

Пример 1

Вход:
intervals = [[1,3],[2,6],[8,10],[15,18]]
Выход:[[1,6],[8,10],[15,18]]

Пример 2

Вход:
intervals = [[1,4],[4,5]]
Выход:[[1,5]]

Пример 3

Вход:
intervals = [[1,1]]
Выход:[[1,1]]
Консоль
Нажмите Run или Ctrl+Enter для запуска