题解 | #牛牛的会议室安排#

牛牛的会议室安排

http://www.nowcoder.com/questionTerminal/e8bfb57c81dd43898f06a39cfb7db9bc

将会议的开始时间和结束时间分别排序。每当会议开始时,所需会议室数count加一;每当会议结束时,所需会议室数count减一。最终所得最大会议室数即为答案

public:
    int minMeetingRooms(vector<vector<int> >& intervals) {
        int n = intervals.size();
        vector<int> starti = vector<int>(n);
        vector<int> endi = vector<int>(n);
        for(int i = 0; i < n; ++i)
        {
            starti[i] = intervals[i][0];
            endi[i] = intervals[i][1];
        }
        sort(starti.begin(), starti.end()); //将starti和endi排序
        sort(endi.begin(), endi.end());
        int count = 0;
        int max_count = 0;
        int i = 0;
        int j = 0;
        int k = 0;
        while(j < n)          
        {
            if(starti[i] == k)     //当会议开始时会议室数count加一
            {
                ++count;
                ++i;
            }
            if(endi[j] == k)       //当会议结束时会议室数count减一
            {
                --count;
                ++j;
            }
            ++k;
            max_count = max(max_count, count); //count中最大值为须准备会议室数
        }
        return max_count;
    }
};
全部评论
昨天面试刚手撕这道
点赞 回复 分享
发布于 2023-09-13 10:01 湖南

相关推荐

不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务