この課題は、このStack Overflowの投稿から大きく影響を受けました。
チャレンジ
部屋に入るときと部屋から出るときの点で多数のクライアントを想定して、部屋に最大人数の時間帯を決定します。時間分解能は分単位にする必要があります。
3つのクライアントが存在する場合、例えば8 - 10
、9 - 11
、10 - 12
、正しい答えは次のようになります9 - 11
。この期間中、部屋には2人のクライアントがいます。
入力
入力は、何らかの形式のペアのリストになります。これは、2タプルのリスト、要素がインターリーブされた偶数長のリストなど、適切な入力形式のいずれかです。時間は、12時間または24時間のいずれかの形式で指定できます。午前0時からの分数として時間を入力することもできます。
出力
出力は何らかの形式のペアのリストである必要がありますが、出力はより厳密です。出力はフラットリストにすることはできません。2タプルのリストまたはリストのリストなどにする必要があります。時刻は、12時間または24時間のいずれかの適切な形式で出力できます。午前0時からの分数として時間を出力することもできます。
例
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
ペアの2回目は常に1回目以降になると想定できます。時間範囲は真夜中に実行されません。
09:00 - 10:00, 10:00 - 11:00
最初のテストケースのための有効な出力は?