イベントのデータ セット (開始日、終了日、場所) があります。これらのイベントは国内で移動するため、どのイベントが終了したらどこに行くべきかを把握する必要があります。
例:
- [1/7, 6/7, トロント] (7月1日開始、7月6日終了)
- [2/7、4/7、モントリオール]
- [4/7、11/7、オタワ]
- [17/7、22/7、バンクーバー]
..etc (データセットは約 100 エントリになるため、パフォーマンスは実際には問題になりません)
この例では、イベント 1 は 7 月 6 日に終了し、イベント 4 は 17 日に開始されるため、移動してイベント 4 を実行できます。(当日乗り継ぎ前提)
適切な一致を見つけることができなかったすべてのイベントは、誰かが手動で一致させるためにレポートに保存されます。
この最適化コードは JavaScript で実行されます。
私の最初の考えは、同じデータを持つ2つの配列を持つことでした。最初の配列は開始日でソートされ、2 番目の配列は終了日でソートされます。次に、終了日のリストを調べて、適切な開始日を見つけようとします。次に、これらのエントリを配列から削除し、一致しなくなるまで同様に続けます。
この問題にアプローチする方法について、より良いアイデアを持っている人はいますか? 詳細が必要な場合はお知らせください。