2011-09-21 43 views
-2

我處理的算法中的一個項目,我需要遍歷一系列日期(排序),我需要檢查的日期按照特定的模式。這裏是所有可能的模式來檢測列表:確定給定的日期範圍爲圖案

  • (無圖案檢測只是日期的隨機一堆。)
  • 4個週一連續
  • 4個週二連續
  • 4星期三在一個行中的行
  • 4個週五或更多連續
  • 4個星期六或更多在
  • 4個星期四或多個一排一排
  • 4日以上
  • 週一,週二,週三和週四一起
  • 週二,週三,週四和週五一起
  • 週三,週四,週五和週六一起
  • 週四,週五,週六和Sun一起
  • 每隔週一
  • 每隔週二
  • 隔週三
  • 每隔星期四
  • 每隔週五
  • 每隔週六
  • 每隔週日

所有這些模式可以是代表通過枚舉。我需要通過函數來​​檢測用戶給出日期範圍的模式。現在

,每個圖案具有附接以及一個條件。例如:

4個週一連續要求最新集合必須有至少4個日期,如果有超過四,日的總數必須是真實的 - >數日期 MOD的4 == 0

週一,週二,週三,週四和共同需要最新集合至少有4個日期沒有間隙,如果有超過四,日的總數必須是真實的 - >日期的數目MOD 4 == 0

不限幫助將不勝感激。問候。

+0

我們不會寫吧,你拿出到目前爲止什麼方法,這似乎相當簡單。 – JonH

+0

無論如何感謝。 – DoomerDGR8

回答

1

創建要匹配(所有類從基繼承),每個模式的一類,有一些像一個「進」的方法,通過所有那些圖案類的日期傳遞給它,運行數據,則有某種評估上的圖案類,會告訴你,如果條件得到滿足

+0

這就是我原來所做的。事情是,我想要得到最小的代碼來處理這個問題。因爲客戶不知道是否有其他模式可以檢測,所以採用了階級方式。但是現在,模式的總數已經確定,而且只用了一次。 – DoomerDGR8

相關問題