Leetcode 2294 Solution

This article provides solution to leetcode question 2294 (minimum-time-to-complete-trips).

https://leetcode.com/problems/minimum-time-to-complete-trips

Solution

class Solution:
    def minimumTime(self, time: List[int], totalTrips: int) -> int:
        def check(totalTime):
            nonlocal time
            nonlocal totalTrips

            return sum([totalTime // bus_time for bus_time in time]) >= totalTrips
        
        l = 0
        r = sum(time) * totalTrips
        
        while l < r:
            m = (l + r) // 2
            
            if check(m):
                r = m
            else:
                l = m + 1
        return l