题解 | #主持人调度(二)#

主持人调度(二)

http://www.nowcoder.com/practice/4edf6e6d01554870a12f218c94e8a299

边界计数法

import java.util.*;


public class Solution {
    public int minmumNumberOfHost (int n, int[][] startEnd) {
//         Arrays.sort(startEnd, (a, b) -> a[0]==b[0]?a[1]-b[1]:a[0]-b[0]);
        int ans = 0;
        TreeMap<Integer, Integer> tm = new TreeMap<>();
        
        for(int[] a : startEnd){
            tm.put(a[0], tm.getOrDefault(a[0], 0) + 1);
            tm.put(a[1], tm.getOrDefault(a[1], 0) - 1);
        }
        int overlap = 0; //重叠数 也就是同时需要的主持人数
        for(int a : tm.values()){
            overlap += a;
            ans = Math.max(ans, overlap); //贪心取最大的一次重叠数
        }
        return ans;
        
        
    }
}
全部评论

相关推荐

12-15 11:27
门头沟学院 Java
哇哇的菜鸡oc:所有人不要理会,就好了,后面他就知道怎么回事了,只能说有的时候市场都是被宰的人搞坏的
点赞 评论 收藏
分享
看起来名字可以很长:笑死 我暑期实习阿里云的意向也被 qq 邮箱放在垃圾箱了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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