LeetCode&Python 920.會(huì)議室 & 919.會(huì)議室 2

920.會(huì)議室

描述

給定一系列的會(huì)議時(shí)間間隔,包括起始和結(jié)束時(shí)間[[s1,e1],[s2,e2],…(si < ei),確定一個(gè)人是否可以參加所有會(huì)議。

Example

樣例1

輸入: intervals = [(0,30),(5,10),(15,20)]

輸出: false

解釋:

(0,30), (5,10) 和 (0,30),(15,20) 這兩對(duì)會(huì)議會(huì)沖突

樣例2

輸入: intervals = [(5,8),(9,15)]

輸出: true

解釋:

這兩個(gè)時(shí)間段不會(huì)沖突


class Solution:

? ? def canAttendMeetings(self, intervals):

? ? ? ? intervals.sort(key = lambda x: x.start)

? ? ? ? for i in range(1,len(intervals)):

? ? ? ? ? ? if intervals[i].start < intervals[i-1].end:

? ? ? ? ? ? ? ? return False

? ? ? ? return True

思路就是排序之后再比較是否有重疊區(qū)間。


919.會(huì)議室 2


給定一系列的會(huì)議時(shí)間間隔intervals,包括起始和結(jié)束時(shí)間[[s1,e1],[s2,e2],...] (si < ei),找到所需的最小的會(huì)議室數(shù)量。

Example

樣例1

輸入: intervals = [(0,30),(5,10),(15,20)]

輸出: 2

解釋:

需要兩個(gè)會(huì)議室

會(huì)議室1:(0,30)

會(huì)議室2:(5,10),(15,20)

樣例2

輸入: intervals = [(2,7)]

輸出: 1

解釋:

只需要1個(gè)會(huì)議室就夠了


這道題運(yùn)用了掃描線的思路,將起始時(shí)間和結(jié)束時(shí)間在x軸上標(biāo)記,然后計(jì)數(shù),遇到起始時(shí)間就+1(打開一個(gè)會(huì)議室),遇到結(jié)束時(shí)間就-1(關(guān)閉一個(gè)會(huì)議室),取這個(gè)過程中的最大值,則是需要的最小會(huì)議室數(shù)。

"""

Definition of Interval.

class Interval(object):

? ? def __init__(self, start, end):

? ? ? ? self.start = start

? ? ? ? self.end = end

"""

class Solution:

? ? def minMeetingRooms(self, intervals):

? ? ? ? # Write your code here

? ? ? ? start = []

? ? ? ? end = []

? ? ? ? for i in intervals:

? ? ? ? ? ? start.append(i.start)

? ? ? ? ? ? end.append(i.end)


? ? ? ? start.sort()

? ? ? ? end.sort()


? ? ? ? a , b = 0 , 0

? ? ? ? min_room = 0

? ? ? ? count_room = 0

? ? ? ? while a < len(start):

? ? ? ? ? ? if start[a] < end[b]:

? ? ? ? ? ? ? ? count_room += 1

? ? ? ? ? ? ? ? a += 1

? ? ? ? ? ? ? ? min_room = max(min_room , count_room)

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? count_room -= 1

? ? ? ? ? ? ? ? b += 1

? ? ? ? return min_room

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容