Я пытаюсь написать код 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:00. От 3:00 до 4:00 - 8 чашек. Поскольку нет входа с 4:00 до 5:00, количество потребления в этом случае должно составлять количество потребляемого кофе в 5:05, которое составляет 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 чашка'? Вы закончили бы считать 8 чашек для '4: 00-5: 00', а также 8 чашек для' 5:00 до 6: 00'? Это кажется довольно искаженным. –
Итак, если в текущем временном диапазоне нет кофе, мы переходим к следующему интервалу? –