630-Course-Schedule-Iii
Sat 17 May 2025
https://leetcode.com/problems/course-schedule-iii
import pyutil as pyu
pyu.get_local_pyinfo()
print(pyu.ps2("python-dotenv"))
from typing import List
class Solution:
def scheduleCourse(self, courses: List[List[int]]) -> int:
time = 0
maxHeap = []
for duration, lastDay in sorted(courses, key=lambda x: x[1]):
heapq.heappush(maxHeap, -duration)
time += duration
# If current course could not be taken, check if it's able to swap with a
# Previously taken course with larger duration, to increase the time
# Available to take upcoming courses
if time > lastDay:
time += heapq.heappop(maxHeap)
return len(maxHeap)
new Solution().scheduleCourse()
Score: 5
Category: leetcode