問題の説明は次のとおりです。
特定の日 d には、開始時刻と期間を持つ n 個のイベントがあります。例:
e1 10:15:06 11ms (ms = milli seconds)
e2 10:16:07 12ms
......
時間 x と n を調べる必要があります。x は、最大のイベントが実行された時間です。
私が考えている解決策は 、d日目にすべてのミリ秒をスキャンすることです。しかし、その要求の合計は 86400000*n の計算です。例
Check at 00::00::00::001 How many events are running
Check at 00::00::00::002 How many events are running
Take max of Range(00::00::00::01,00::00::00::00)
私が考えている2番目の解決策は次のとおりです。
For eventi in all events
Set running_event=1
eventj in all events Where eventj!=eventi
if eventj.start_time in Range (eventi.start_time,eventi.execution_time)
running_event++
そして、running_event の最大値を取得します
これに対するより良い解決策はありますか?