У меня есть следующие временные интервалы в течение одного дня:Четкие временные интервалы от нескольких пересекающихся интервалов
1) 9:00 до 13:00
2) 9:30 до 10:30
3) с 9:30 до 10:30 (этот интервал преднамеренно здесь 2x)
4) с 11:00 до 12:00
можно визуализировать временные интервалы на горизонтальной линии времени:
Timeslot 1)
|--------------------------------------------|
9:00 13:00
Timeslot 2)
|-------------|
9:30 10:30
Timeslot 3)
|-------------|
9:30 10:30
Timeslot 4)
|-------------|
11:00 12:00
Я пытаюсь выяснить метод Python, который будет принимать N количество временных интервалов на входе и возвращать отдельные временные окна плюс сколько раз окно перекрывает другое. Для приведенного выше примера, ожидаемый результат должен выглядеть следующим образом:
Окно 1: 9:00 - 9:30, кол-слоты 1
Окно 2: 9:30 - 10:30, кол-слотов 3
окно 3: 10:30 - 11:00, слоты рассчитывать 1
окно 4: 11:00 - 12:00, кол-слотов 2
окно 5: 12:00 - 13:00, Количество слотов 1
Возможно ли любое ne, пожалуйста, укажите мне в правильном направлении, как это решить в Python 3?
Подсказка: (1) интервалы сортировки по времени начала; (2) для каждого интервала, если он пересекает с ним следующий интервал, объединять их и подсчитывать слияния. – 9000