Вставка интервала

Medium
Даны непересекающиеся интервалы, уже отсортированные по началу, и новый интервал. Вставьте новый интервал и при необходимости объедините все пересечения (включая касание концами), сохранив отсортированность результата.

Примеры:

Вход: {"intervals": [[1, 3], [6, 9]], "newInterval": [2, 5]}
Выход: [[1, 5], [6, 9]]
Объяснение: [2,5] пересекается с [1,3] → сливаются в [1,5]; [6,9] не затронут → [[1,5],[6,9]].
Вход: {"intervals": [[1, 2], [3, 5], [6, 7], [8, 10], [12, 16]], "newInterval": [4, 8]}
Выход: [[1, 2], [3, 10], [12, 16]]
Объяснение: [4,8] перекрывает [3,5], [6,7] и [8,10] → один интервал [3,10]; [1,2] и [12,16] остаются.
Вход: {"intervals": [], "newInterval": [5, 7]}
Выход: [[5, 7]]
Объяснение: Список интервалов пуст — результат из одного нового: [[5,7]].

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

0 <= intervals.length <= 10^4 Интервалы отсортированы по началу

Теги:

Массивы Интервалы

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

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

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