From 994e1a3635519eb29c0a0cdf5240294450c584d6 Mon Sep 17 00:00:00 2001 From: Samir Paul <77569653+SamirPaul1@users.noreply.github.com> Date: Tue, 7 Mar 2023 13:35:25 +0530 Subject: [PATCH] Create 12. Minimum Time to Complete Trips.py --- .../12. Minimum Time to Complete Trips.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 11_Binary-Search/12. Minimum Time to Complete Trips.py diff --git a/11_Binary-Search/12. Minimum Time to Complete Trips.py b/11_Binary-Search/12. Minimum Time to Complete Trips.py new file mode 100644 index 00000000..40af4126 --- /dev/null +++ b/11_Binary-Search/12. Minimum Time to Complete Trips.py @@ -0,0 +1,25 @@ +# https://leetcode.com/problems/minimum-time-to-complete-trips/ + +class Solution: + def minimumTime(self, time: List[int], totalTrips: int) -> int: + + def check(curTime): + tripsCount = 0 + for t in time: + tripsCount += curTime // t + return tripsCount >= totalTrips + + l = 0 + r = min(time) * totalTrips + 1 + while l <= r: + mid = l + (r - l) // 2 + if check(mid): + r = mid - 1 + else: + l = mid + 1 + + return l + + + +# Time: O(N log(N))