Эта проблема была в значительной степени вдохновлена этим постом переполнения стека .
Вызов
Учитывая группу клиентов с точки зрения того, когда они входят в комнату и когда они выходят из нее, определяют период (ы) времени, когда в комнате находится максимальное количество людей. Разрешение по времени должно быть с точностью до минуты.
Например, если есть три клиента 8 - 10
, 9 - 11
, 10 - 12
, то правильный ответ будет 9 - 11
; В этот период в комнате находятся два клиента, что является самым большим из возможных.
вход
На входе будет список пар в той или иной форме. Это может быть список из двух кортежей, список четной длины с чередующимися элементами и т. Д., Любой приемлемый формат ввода. Время может быть указано в любом разумном формате, в 12 или 24 часов. Вы также можете ввести время как количество минут после полуночи.
Вывод
Вывод должен быть списком пар в некоторой форме, но вывод будет более строгим. Вывод не может быть простым списком, это должен быть список из двух кортежей или список списков и т. Д. Время может быть выведено в любом приемлемом формате, либо за 12, либо за 24 часа. Вы также можете вывести время как количество минут после полуночи.
Примеры
input
output
INPUT
08:00 - 10:00
09:00 - 11:00
10:00 - 12:00
OUTPUT
09:00 - 11:00
INPUT
08:20 - 09:20
09:00 - 09:10
08:00 - 09:30
08:50 - 10:40
OUTPUT
09:00 - 09:10
INPUT
08:00 - 10:00
09:00 - 10:00
09:30 - 11:00
OUTPUT
09:30 - 10:00 # The output is not always in the input list
INPUT
00:00 - 02:00
01:00 - 03:00
04:00 - 06:00
05:00 - 07:00
OUTPUT # This is the expected output for when there are multiple time ranges with the same "business".
01:00 - 02:00
05:00 - 06:00
Вы можете предположить, что второй раз в паре всегда будет после первого раза. Диапазоны времени не будут работать в течение полуночи.
09:00 - 10:00, 10:00 - 11:00
ли действительный вывод для первого контрольного примера?