できる限り明確にします。
開始と終了の2回のイベントがあります。(時間は24時間形式です)たとえば、このイベントは8で始まり、12で終わります。
このイベントで、私は彼らの仕事のスケジュールを持つ人のリストを持っています。次に例を示します。
- 人1:8:00から10:00まで
- 2人目:10:00〜12:00
- 人3:6:00〜15:00
- 4人目:8:00〜9:00
- 5人目:9時30分から12時まで
さて、イベント全体を通して、少なくとも何人の人がいるのかを知る必要があります。
私の場合、2になります。理由は次のとおりです。
- 人1と人2は互いに補完し合う
- 人3は常に存在します
- 人物4と5の間には、9:00から9:30の間にあえぎがあります。そのため、この間、人物4と5の間には誰もいません。
私がこれを時間で説明すると:
- 8:00から9:00まで:人1、3、4
- 9:00から9:30まで:人1、3
- 9時30分から10時まで:人1、3、5
- 10:00から12:00まで:人2、3、5
ほとんどの場合、イベントは3人で行われますが、2人の場合は最低です。
アルゴリズムを使用してこの番号を取得するにはどうすればよいですか。これでは気になりません。
時間を分単位で変換し(分を下回らない)、イベント時間の範囲(8*60から12*60)を設定し、各人のプレゼンスを新しい範囲として追加してからカウントすることを考えました。 1分ごとに、スライスがいくつありますか(1スライス= 1人)。しかし、これは効率的ではないと感じています。スライスを4 * 60分間カウントする必要があるためです:/(8-> 12から)。
どうしますか?