本文主要是介绍Leetcode 253. Meeting Rooms II [Python],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
扫描线,遇到start,和end记录其时间点,并以True和False配对,随后sort。再次扫描,设置count记录需要的会议室数量,遇到start的True后+1,end的False则相应-1.每次更新count后对于全局res。保留最大的temp作为res。
class Solution:def minMeetingRooms(self, intervals: List[List[int]]) -> int:if not intervals or len(intervals) == 0:return 0arr = []res = float('-inf')for s, e in intervals:arr.append((s, True))arr.append((e, False))arr.sort(key = lambda x:(x[0],x[1]))temp = 0for sore, torf in arr:if torf == 1:temp += 1elif torf == 0:temp -= 1res = max(temp,res)return res
这篇关于Leetcode 253. Meeting Rooms II [Python]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!