253. 会议室 II
2622
2022.08.12
2022.08.12
发布于 未知归属地

给你一个会议时间安排的数组 intervals ,每个会议时间都会包括开始和结束的时间 intervals[i] = [starti, endi] ,返回 所需会议室的最小数量 。

示例 1:

输入:intervals = [[0,30],[5,10],[15,20]]
输出:2
示例 2:

输入:intervals = [[7,10],[2,4]]
输出:1

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/meeting-rooms-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题解:转化为上下车问题

class Solution {
    public int minMeetingRooms(int[][] intervals) {
        int n = intervals.length;

        //把所有会议的开始时间和结束时间存入两个数组,并且各自升序排序
        int[] startArr = new int[n];
        int[] endArr = new int[n];

        for (int i = 0; i < n; i++) {
            startArr[i] = intervals[i][0];
            endArr[i] = intervals[i][1];
        }

        Arrays.sort(startArr);
        Arrays.sort(endArr);

        int res=0;
        int i=0;
        int j=0;
        for(  ;  i< n ; i++ ){
            if(startArr[i]<endArr[j]){
                res++;
            }else{
                j++;
            }
        }
        return res;
    }
}
评论 (5)