У меня есть список временных диапазонов, представленных в виде кортежей объектов DateTime: < /p>
time_ranges = [
(datetime(2023, 10, 26, 10, 0, 0), datetime(2023, 10, 26, 11, 0, 0)),
(datetime(2023, 10, 26, 10, 30, 0), datetime(2023, 10, 26, 12, 0, 0)),
(datetime(2023, 10, 26, 13, 0, 0), datetime(2023, 10, 26, 14, 0, 0)),
(datetime(2023, 10, 26, 13, 30, 0), datetime(2023, 10, 26, 15, 0, 0)),
(datetime(2023, 10, 26, 15, 30, 0), datetime(2023, 10, 26, 16, 0, 0)),
]
< /code>
Мне нужно эффективно найти все перекрывающиеся диапазоны времени в этом списке. Два временных диапазона совпадает, если они разделяют какое -либо общее время. Выход должен быть списком кортежей, где каждый кортеж содержит индексы перекрывающихся диапазонов. Для примера выше, желаемый вывод будет: < /p>
overlapping_ranges = [
(0, 1),
(2, 3),
]
< /code>
Я попробовал наивный подход, используя вложенные петли, чтобы сравнить каждый диапазон с любым другим диапазоном, но он имеет сложность O (n^2) и слишком медленная для моего большого набора данных. 13:00).
Подробнее здесь: https://stackoverflow.com/questions/795 ... -in-python
Эффективно поиск перекрывающихся диапазонов в Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу получить массив всех перекрывающихся диапазонов дат в заданном наборе?
Anonymous » » в форуме Javascript - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-