2011-06-04 44 views
0

我用笨建立一個應用程序,並運行到了以下問題:交叉引用日期範圍多張參賽作品

該應用程序允許用戶輸入多個日期範圍,每一個都具有開始和結束日期,即06 -10-2011至06-14-2011。

我想交叉引用這些日期範圍以查找至少存在兩個用戶的日期範圍。問題是他們不需要嚴格的開始或結束日期。

基本上,如果每個用戶輸入1個時間範圍類似於:

USER1:06/10/2011 - 2011年6月15日 USER2:06/11/2011 - 06月14日 用戶3: 06/12/2011 - 06月16日

那麼結果將是:

常見:06/12/2011 - 06月14日

任何幫助將是巨大的!附:我在Overignal Datamapper中使用Codeigniter。

回答

0

當我們可以假設你沒有引用long範圍時,你可以爲每個範圍星期幾,並使用日期作爲哈希表的鍵。該散列表將散列集(或者如果您確定用戶不能有重疊範圍的用戶列表)存儲在列表中。如果日期不在表中,則爲該日期創建一個新集,然後插入(追加)與當前時間範圍關聯的用戶。如果日期在表格中,則只需插入(附加)用戶...

處理完所有範圍後,循環表格的實際值並將用戶總數與哈希集合的長度(或列表)