我試圖計算出一組日期範圍的正確算法時遇到問題。計算重疊日期範圍的問題
基本上我有一個無序的日期範圍列表(列表包含開始和結束時間的數組),我想合併這個列表,因此它不包含重疊時間。
基本上鞏固兩個日期範圍:
if start1 <= end2 and start2 <= end1 //Indicates overlap
if start2 < start1 //put the smallest time in start1
start1 = start2
endif
if end2 > end1 //put the highest time in end1
end1 = end2
endif
endif
此連接兩個日期倍。
在迭代所有值時,我碰到了一個絆腳石,因此結束列表只包含不重疊的值。
我的功能和遞歸編程有點生疏,任何幫助都會受到歡迎。
http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844包含一個解決方案和解釋(這取決於你正在優化什麼,你沒有指定那..)。應該很容易實現在FP –
任何機會,你可以把我正確的方向,你正在引用哪種算法,數據結構或方法? – emt14
我認爲它在貪婪算法部分的開頭(儘管我不確定)。你必須先排序列表。 –