2025-08-18 18:06:45 +0000 UTC
Minimum Amount of Time to Fill Cups
Categories:
Links
Code
class Solution:
def fillCups(self, amount: List[int]) -> int:
res = 0
for i in range(len(amount)):
amount[i] = -amount[i]
heapq.heapify(amount)
while len(amount) > 2:
num1, num2 = heapq.heappop(amount), heapq.heappop(amount)
if num1 < 0 or num2 < 0:
res += 1
if num1 < 0:
num1 += 1
heapq.heappush(amount, num1)
if num2 < 0:
num2 += 1
heapq.heappush(amount, num2)
if len(amount) == 1:
return res - amount[0]
num1, num2 = amount
res += min(-num1, -num2) + abs(num1 - num2)
return res