我正在嘗試爲以下問題編寫Java代碼。但我無法找到解決此問題的優化方法。切割java數組列表
我有一個時間和咖啡消費的數組列表如下。我想每小時計算咖啡的消耗量,如果在特定小時內沒有消費,則下一個小時的第一次進入將是該小時的總消耗量。
例如:
我有以下數組列表
Time consumption of coffee
2:15 5 cups
2:30 6 cups
2:45 7 cups
3:05 2 cups
3:45 6 cups
5:05 1 cups
5:30 2 cups
7:15 1 cup
所以想要計算什麼是2小時的總消耗,這將是在這種情況下18杯從2:00到3點,3點到4點就是8杯。因爲沒有從4點到5點的入場,所以那個時候的消費量應該是在5點5分消耗的咖啡的量,這是1杯。我想要結果到7點。由於我們在6:00 -7:00沒有任何東西,那麼它將是1杯,這在7點15分是價值。
所以我想總消費量的從2:00到7:00最終結果分佈每隔一小時數組列表如下對象
obj1 = T<2:00,3:00,18>
obj2 = T<3:00,4:00,8>
obj3 = T<4:00,5:00,1>
obj4 = T<5:00,6:00,3>
obj5 = T<6:00,7:00,1>
finalList = <obj1,obj2,obj3,obj4,obj5>
我沒能獲得如何砍在每小時列表並看看下一個值。
如果您發佈了您擁有的代碼,可能會更容易。 – c0der
如果(在你的例子中)你改爲'3:45-> 6杯, 5:55-> 8杯; 7:15-> 1杯?你最終會爲「4:00-5:00」計算8杯,而「5:00-6:00」計數8杯?這似乎相當扭曲。 –
因此,如果在當前時間範圍內沒有咖啡,我們將進入下一個時間間隔? –