Meeting Rooms II

给一个interval的array是conference的start time和end time, 求几个room能重下这些conference.

这个题是看答案1写的, 主要利用的思维就是, 用一个PriorityQueue存end time, 因为算法主要的难点就是找到当前的interval和哪个room的interval重叠, 如果通过merge interval来判断, 那么code就会特别长, 这时需要用这个pq来存end time, 换一种思维, 如果这个end time比start time靠后(大), 那么就是当前的interval肯定发生在end time之前, 那么便需要一个新的房间. if(!pq.isEmpty() && pq.peek()[1] <= i[0]) 这个代码可以通过判断pq最靠前的end time是否小于或者等于(正好结束)当前的starttime, 如果yes, 那么说明有某个(这里不需要知道那个)room的endtime已经结束, 可以给新的conference. pq.poll()便是把老时间踢出, 然后再放入新的时间.