网站建设的书 豆瓣,网站策划书我与音乐,模板网站代码,开发游戏用什么软件文章目录1. 题目2. 解题1. 题目
给定一个会议时间安排的数组#xff0c;每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],…] (si ei)#xff0c; 为避免会议冲突#xff0c;同时要考虑充分利用会议室资源#xff0c;请你计算至少需要多少间会议室#xff0…
文章目录1. 题目2. 解题1. 题目
给定一个会议时间安排的数组每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],…] (si ei) 为避免会议冲突同时要考虑充分利用会议室资源请你计算至少需要多少间会议室才能满足这些会议安排。
示例 1:
输入: [[0, 30],[5, 10],[15, 20]]
输出: 2示例 2:
输入: [[7,10],[2,4]]
输出: 1来源力扣LeetCode 链接https://leetcode-cn.com/problems/meeting-rooms-ii 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
类似题目LeetCode 252. 会议室排序
开始时间一样先结束的在前开始早的在前优先队列存储会议结束的时间堆顶是结束时间早的下一个会议开始时间早于堆顶的房间结束时间该会议新开一个roompush进队列最后返回队列的size
class Solution {
public:int minMeetingRooms(vectorvectorint intervals) {if(intervals.empty()) return 0;sort(intervals.begin(), intervals.end(),[](auto a, auto b){if(a[0] b[0])return a[1] b[1];//开始时间一样先结束的在前return a[0] b[0];//开始早的在前});priority_queueint,vectorint,greaterint q;//小顶堆,存放会议室结束时间小的在上q.push(intervals[0][1]);for(int i 1; i intervals.size(); i){if(intervals[i][0] q.top())//最早结束的会议室可用占用它{q.pop();}q.push(intervals[i][1]);}return q.size();}
};184 ms 26.6 MB 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步