複数の iCalendar を結合しようとしています。重複するイベントをマージできるようにしたい。たとえば、月曜日の午後 12 時から午後 2 時までのイベントと、午後 1 時から午後 3 時までの別のイベントがある場合、最終的には午後 12 時から午後 3 時までのイベントを実行したいと考えています。
PHPでそれを行うか、アルゴリズム自体を支援する単純なオープンソーススクリプトを探しています。
どんな種類の助けも大歓迎です!
そうです - 残念ながら、私は PHP について何も知らないので、PHP のコーディングをお手伝いすることはできません (これは、私のアルゴリズムのヘルプがうまくいかない可能性があることも意味します)。しかし、私はアルゴリズムの使い方をよく知っているので、できるだけ多くのアルゴリズムを思いつきます。それぞれに賛成と反対の理由を挙げますので、お好きな方を選んでください。
最初に、簡略化します。2 つ以上の ICalendar を一緒にマージする場合、2 つをマージしてから、結果を次のものとマージすることができます。つまり、私たちのアルゴリズムは 2 つをマージするだけで機能します。
それを念頭に置いて、私が集めることができる概念的に最も単純なマージは次のとおりです。
実際には、これは最適なアルゴリズムに近いものです。つまり、 O(n)時間です。ここで、n は ICalendar ごとのイベントの平均数です。つまり、他の方法は今後提供されません...悲しいことに。
これは、誰かが興味を持っている場合に私がやったことです。最も効率的ではないかもしれませんが、私がやっていることには十分です。