Эта проблема была в значительной степени вдохновлена этим постом переполнения стека .
Вызов
Учитывая группу клиентов с точки зрения того, когда они входят в комнату и когда они выходят из нее, определяют период (ы) времени, когда в комнате находится максимальное количество людей. Разрешение по времени должно быть с точностью до минуты.
Например, если есть три клиента 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
ли действительный вывод для первого контрольного примера?Ответы:
Брахилог , 25 байт
Попробуйте онлайн!
В этом ответе есть очевидная структура, которая становится еще более очевидной, если вы напишите его так:
К сожалению, порядок оценки Brachylog делает так, что программа идет в бесконечный цикл, если вы пытаетесь воспользоваться рассматриваемой структурой. Тем не менее, безусловно, можно представить себе язык, похожий на брахилог, в котором он намного короче.
источник
Желе ,
222120 байтПопробуйте онлайн!
источник
Брахилог , 58 байт
Попробуйте онлайн!
Это должен быть самый длинный ответ на брахилоге
источник
Pyth ,
3324 байтаПопробуйте онлайн!
источник
Mathematica, 104 байта
Конечно, это предполагает, что несколько мощных встроенных модулей Mathematica верны ...
источник