LC.253. Meeting Rooms II
程序员文章站
2022-06-02 22:43:10
...
class Solution(object):
def minMeetingRooms(self, intervals):
"""
greedy思想:
arrange 数组保存已经开辟的会议室, array[i]表示第i个会议室最后一次被使用的时间
对于每一个start end from interval, arrage 中满足条件的时间相邻最近的会议室
找不到的话重新开辟一个
"""
intervals.sort(key=lambda x:x[0])
arrage = []
for start, end in intervals:
index = -1
distance = float('inf')
for i in range(len(arrage)):
if arrage[i] <= start:
if start - arrage[i] < distance:
distance = start - arrage[i]
index = i
if index != -1:
arrage[index] = end
else:
arrage.append(end)
return len(arrage)
``
上一篇: 有人在水池子里小便