首页 > 其他 > 详细

253. Meeting Rooms II

时间:2017-11-23 17:09:48      阅读:244      评论:0      收藏:0      [点我收藏+]

Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si < ei), find the minimum number of conference rooms required.

For example,
Given [[0, 30],[5, 10],[15, 20]],
return 2.

/**
 * Definition for an interval.
 * struct Interval {
 *     int start;
 *     int end;
 *     Interval() : start(0), end(0) {}
 *     Interval(int s, int e) : start(s), end(e) {}
 * };
 */
class Solution {
public:
    int minMeetingRooms(vector<Interval>& intervals) {
        sort(intervals.begin(),intervals.end(),[](Interval a,Interval b){return a.start<b.start;});
        priority_queue<int,vector<int>, greater<int>> pq;
        int res=0;
        for(auto interval:intervals)
        {
            while(!pq.empty()&&interval.start>=pq.top()) pq.pop();
            pq.push(interval.end);
            int size = pq.size();
            res = max(res,size);
        }
        return res;
    }
};

 

253. Meeting Rooms II

原文:http://www.cnblogs.com/jxr041100/p/7885690.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!