1353 最多可以參加的會議數目

2021-10-04 10:50:44 字數 844 閱讀 5606

1、先按照startday進行排序,得到開始時間從早到晚的陣列排列。

2、接著將startday相等的會議加入優先佇列,彈出結束時間最早的會議。相同時間,結束時間最早的會議優先出列。

class

solution})

; priorityqueue

queue =

newpriorityqueue

<

>()

;int day =

0, id =

0, n = events.length, res =0;

while

(id < n ||

!queue.

isempty()

)// 將dayday中否合要求的值新增進去

while

(id < n && events[id][0

]<= day)

// 否合要求,day和res都會++,既然最大值都大於等於day,那麼第乙個元素就可以poll

// day++,是因為一天只能參加1場會議

if(queue.

peek()

>= day)

// 不符合要求的元素要poll出去,要不迴圈結束不了

queue.

poll()

;}return res;

}}

每次乙個結束時間僅進出堆一次,加上堆排序的時間和維護堆的時間,時間複雜度為o(nlogn),空間複雜度為o(n)

優先佇列由堆來實現。

最多可以參加的會議數目

一 題目描述 二 題目分析 題解參考 本題的目的是盡可能地多參加會議,而對於每乙個時間點,我們只能參加乙個會議,我們假設現在又兩個會議的起始時間是一樣的,那麼我們應該優先考慮參加那個結束時間早的會議,因為另外乙個會議有更多的時間參加。三 public int maxevents int events...

可以參加的比賽

教育部主辦比賽 全國大學生電子設計大賽 飛思卡爾 杯 全國大學生智慧型汽車競賽acm icpc 國際大學生程式設計競賽 非教育部主辦比賽 adi中國大學創新設計競賽 報名時間 3 4 月份 adi公司 analog devices,inc.紐約 交易所 adi 設立的中國大學創新設計競賽 unive...

參加IBM Rational高峰論壇的會議筆記

1.1.為什麼制定專案開發流程?在我們印象中,每個公司的開發流程不經一致,其次在每個公司的內部,乙個穩定的開發團隊,其開發流程是也不是一致。我們碰到的每個專案,都有不同的開發背景,如行業背景,業務特點,公司的技術知識積累等。這些不同的開發背景導致了,我們的開發團隊在實施每個專案將採取其不同的開發流程...