Дан массив интервалов `intervals` где `intervals[i] = [start, end]`. Объедините все перекрывающиеся или соприкасающиеся интервалы и верните отсортированный результат. Аналитический контекст: расчёт уникального покрытия пользовательских сессий (несколько вкладок одновременно). Реализуй `merge_intervals(intervals)` — возвращает list.
algorithms python sorting intervals