leetcode253. 会议室 II

扫描线法,对于每个区间,我们先进行排序,遇到开始节点说明要申请一个会议
遇到结束节点说明结束一个会议,统计最多的时候需要开几个会议室
由于会议的开始时间一定在结束时间之前,所以这样的做法成立
leetcode253. 会议室 II_第1张图片

def minMeetingRooms(self, intervals):
        points = []
        for interval in intervals:
            points.append((interval.start, 1))
            points.append((interval.end, -1))
        meeting_rooms = 0
        ongoing_meetings = 0
        for _, delta in sorted(points):
            ongoing_meetings += delta
            meeting_rooms = max(meeting_rooms, ongoing_meetings)
        return meeting_rooms

你可能感兴趣的:(语言基础,算法)