かなり典型的なスケジューリング アプリの適切なデータ表現を見つけるのに少し苦労しています。少し混乱する要件は、毎日任意の可用性を持つ2つのパーティーがあり、2つのパーティーがあるかどうかに関係なく、決まった時間に多かれ少なかれ提供されるコースがあることです(ただし、ここでも例外が発生する可能性があります)。そのタイミングで利用できるかどうか。
後の課題の 1 つは、スケジュールされたコースで利用可能なプロバイダーを見つけることであるため、ビットマスクのようなものを使用して、これらの毎週の可用性パターンを 64 ビット整数に単純に格納することが迅速かつエレガントな方法ではないかと考えていました。 .
私の理論的根拠は、基本的に、毎日は 24 時間 (< 2^5) あり、1 日を 10 分間隔に分割すると、1 日あたり 144 スロット (2^8 よりはるかに少ない) になるということです。したがって、すべての人は、毎日がその日の 8 ビット アベイラビリティ マスク (7 x 8 ビット = 56 ビット、64 ビット int 未満) である週次スケジュールを取得できます。
潜在的なユーザーのフィルタリングと識別は、潜在的な予定を同じ種類のマスクに変換し、ビットごとの操作を実行して、そこで利用可能な候補者のみを選択することで、非常に迅速かつ簡単に実行できます。
私が疑問に思っているのは、ビットレベルでこれ以上のフィルタリングが行われていないのはなぜなのかということです。なぜなら、それはかなり単純明快に思えるからです。うまくいけば、実際には、より冗長なものよりもエレガントになることさえあると思います。明示的な論理、考え/アイデアはありますか?