这个挑战极大地受到了Stack Overflow帖子的启发。
挑战
给定一堆客户有关他们何时进入房间和何时离开房间的信息,请确定房间中人数最多的时间段。时间分辨率应为分钟。
例如,如果有三个客户8 - 10
,9 - 11
,10 - 12
,那么正确的答案是9 - 11
,在此期间,会议室中有两个客户,这是最大的可能。
输入项
输入将是某种形式的成对列表。可以是2元组的列表,也可以是元素交织的偶数列表,等等,可以是任何合理的输入格式。时间可以以任何合理的格式给出,可以是12小时或24小时制。您也可以输入时间作为午夜后的分钟数。
输出量
输出应该是以某种形式的成对列表,但是输出更严格。输出不能是平面列表,它必须是2元组列表或列表列表等。时间可以以任何合理的格式输出,可以是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
您可能会假设一对中的第二次总是在第一次之后。时间范围不会超过午夜。
如果有多个时间范围怎么办?
—
硕果累累
@ Challenger5您表示输入或输出多个时间范围是什么意思?
—
HyperNeutrino'5
@HyperNeutrino输出。
—
硕果累累
@ Challenger5添加了一个测试用例,谢谢。
—
HyperNeutrino
09:00 - 10:00, 10:00 - 11:00
第一个测试用例是否有效?