首页 > 其他分享 >【扫描线】LeetCode 253. 会议室 II

【扫描线】LeetCode 253. 会议室 II

时间:2023-02-28 16:33:06浏览次数:54  
标签:int sum II intervals result 扫描线 253 population

题目链接

253. 会议室 II

思路

这道题非常类似于坐公交车上下车。

样例中 intervals = [[0,30],[5,10],[15,20]] 可以这么拆解

上车:[0, +1], [5, +1], [15, +1]
下车:[10, -1], [20, -1], [30, -1]

我们可以在开始和结束时间打上标记,最后再对标记求和。在对标记求和的过程中其实是在实时统计公交车人数,取最大值即可。

代码

class Solution {
    public int minMeetingRooms(int[][] intervals) {
        int[] population = new int[1000000 + 3];
        for(int i = 0; i < intervals.length; i++){
            population[intervals[i][0]]++;
            population[intervals[i][1]]--;
        }

        int result = 0;
        int sum = 0;
        for(int num : population){
            sum += num;
            result = Math.max(result, sum);
        }

        return result;
    }
}

标签:int,sum,II,intervals,result,扫描线,253,population
From: https://www.cnblogs.com/shixuanliu/p/17164856.html

相关文章