题解 | #主持人调度(二)#
主持人调度(二)
https://www.nowcoder.com/practice/4edf6e6d01554870a12f218c94e8a299
import heapq class Solution: def minmumNumberOfHost(self, n: int, startEnd: List[List[int]]) -> int: # 根据活动的开始时间对活动进行排序 startEnd.sort(key=lambda x: x[0]) # 初始化一个最小堆来存储当前正在进行的活动的结束时间 heap = [] # 初始化主持人数量 hosts = 1 for start, end in startEnd: # 如果堆不为空且堆顶的活动与新活动冲突 if heap and heap[0] > start: # 需要一个新的主持人 hosts += 1 elif heap: heapq.heappop(heap) # 将新活动的结束时间推入堆中 heapq.heappush(heap, end) return hosts