Код Middle Интервалы обновлено

Слияние интервалов

Условие

Слей пересекающиеся интервалы. Касание границ считается пересечением.

Примеры

merge([[1, 3], [2, 6], [8, 10], [15, 18]]) // [[1, 6], [8, 10], [15, 18]]
merge([[1, 4], [4, 5]]) // [[1, 5]]
merge([[1, 4], [2, 3]]) // [[1, 4]]

Как подойти

Признак «интервалы» → сортировка по началу + один проход. Ловушка: [1,4] и [2,3] - вложенный интервал, поэтому Math.max по правой границе обязателен. Копируй интервалы, если нельзя мутировать вход.

Подсказки: 2
  1. Сначала отсортируй по левой границе.
  2. Правая граница нового интервала - максимум, а не правая граница текущего.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.