日付範囲のリストがあります。
05/01/2012 - 07/01/2012
07/02/2012 - 09/05/2012
01/01/2012 - 03/31/2012
08/01/2012 - 12/31/2012
ここでの問題は、指定されたリストが特定の範囲内のすべての日付をカバーしているかどうかを確認することです。たとえば、このリストには 2012 年 5 月 1 日から 2012 年 12 月 31 日までのすべての日付が含まれますが、2012 年 1 月 1 日から 2012 年 12 月 31 日までの日付は含まれません。これは、4 月の日付がこのリストに含まれていないためです。仮定は、
- 日付範囲は有効です - 開始日 <= 終了日。
- 上記の 2 番目と 4 番目の場合のように、日付範囲が重複する場合があります。
- リストはソートされていません。
私がこれまでに持っているのは、外れ値を次のようにテストすることです。
最小の開始日と最大の終了日を見つける - テストの日付範囲の開始日と終了日がそれぞれこれらの日付よりも小さい/大きい場合、テストは失敗します。
しかし、途中で逃した日付をチェックするための最良の戦略は何ですか? 前もって感謝します!