Программа курса:
Задача 7: Пересечения списка интервалов
Напишите определение функции intervalIntersection(firstList, secondList), которая принимает два списка закрытых интервалов:
firstList— список закрытых интервалов, где каждый интервал представлен в виде[starti, endi].secondList— список закрытых интервалов, где каждый интервал представлен в виде[startj, endj].
Каждый список интервалов:
- Является попарно непересекающимся.
- Отсортирован по возрастанию.
Функция должна вернуть список интервалов, которые являются пересечениями интервалов из firstList и secondList.
Закрытый интервал [a, b] (где a <= b) обозначает множество действительных чисел x, таких что a <= x <= b.
Пересечение двух закрытых интервалов — это множество чисел, которые либо пусты, либо представляют собой закрытый интервал. Например, пересечение [1, 3] и [2, 4] равно [2, 3].
Примеры
Пример 1:

Ввод:firstList = [[0,2],[5,10],[13,23],[24,25]]secondList = [[1,5],[8,12],[15,24],[25,26]]
Вывод:[[1,2],[5,5],[8,10],[15,23],[24,24],[25,25]]
Объяснение:
- Пересечение
[0,2]и[1,5]равно[1,2]. - Пересечение
[5,10]и[1,5]равно[5,5]. - Пересечение
[5,10]и[8,12]равно[8,10]. - Пересечение
[13,23]и[15,24]равно[15,23]. - Пересечение
[24,25]и[15,24]равно[24,24]. - Пересечение
[24,25]и[25,26]равно[25,25].
Пример 2:
Ввод:firstList = [[1,3],[5,9]]secondList = []
Вывод:[]
Объяснение:
- Поскольку
secondListпуст, пересечений быть не может.
Пример 3:
Ввод:firstList = [[5,10]]secondList = [[6,8]]
Вывод:[[6,8]]
Объяснение:
- Пересечение
[5,10]и[6,8]равно[6,8].