我有一個Range對象,它由min和max組成。因此,可以有如下範圍:在Java中簡化範圍
[1, 5]
[6, 12]
[13, 14]
這是我的問題。假設你有一個由
ArrayList<Range> ranges;
給出的範圍列表,你想解決它們,以便沒有重疊範圍。也就是說,有兩個功能:
public void addRange(Range r);
public void removeRange(Range r);
你可以假設每個方法之後,ranges
ArrayList中總是會受到最低值排序。請注意,ranges
ArrayList始終包含初始範圍[1, 100]
。下面是與ranges
一些例子前後:
ranges = {[1,5], [6,12], [13,14]}
addRange([7, 15])
ranges = {[1,5], [6,15]}
ranges = {[1,12], [18,29], [34,89]}
addRange([16,17])
ranges = {{[1,12], [16,17], [18,29], [34,89]}
ranges = {[16,35]}
removeRange([19,54])
ranges = {[16,19]}
我怎樣才能寫出這兩個功能?
由最小值排序沒有幫助'removeRange'太多了。 – irrelephant
這是作業/作業,I.e你想要實際的代碼還是隻是提示? –
這不是家庭作業。我正在研究一個Java應用程序,需要幫助解決這個問題。 – CodeGuy