的堆疊順序我有Foo
具有這些特性的列表:解決重疊的項目
class Foo
(
Date From
Date To
int Importance
)
這些項目的From
和To
日期可以重疊。在兩個foos重疊的情況下,具有最高Importance
的foo優先於其他項目。
是否有一個優雅的算法來獲取Foo
列表並通過使用上述規則解決任何重疊(通過確定哪個Foo
具有最高的因子)?我迄今爲止的嘗試都很難看。最終,他們會針對每個可能的重疊衝突進行一系列檢查,例如較低優先級的foo之前的較高優先級,出現在較低優先級foo的範圍中間的較高優先級foo等等。這樣的策略看起來難以維持,並且尋求一種我尚未發現的更優雅的方法。
最大的問題在這裏是一個更高的優先級Foo
可以細分低優先級的一個,所以我們不能簡單地調整相沖突Foos
的From
和To
點。
請指定解決重疊的含義。 –
我已經編輯過。對於'Foo'序列,在給定的時間只能應用一個'Foo'。通過「解決」重疊,我的意思是確定哪個「Foo」在每個衝突中具有最高的「重要性」因子並忽略其他的「Foo」。 – duck9
謝謝 - 你提到調整'From'和'To',所以看起來好像還有一些重新安排。 –