题解 | #主持人调度#

主持人调度

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

优先队列

题目要求可以知道,主持人可以主持多场

但是有重复时间段的不能够同时主持,需要加主持人

优先队列保存从小到大的结束时间,每判读一个时间段就判断起始时间与队首的终止时间对比,若无重复能连续,则无需加主持人

public int minmumNumberOfHost (int n, int[][] startEnd) {
        if(n <= 1){
            return n;
        }
        // 首先安装开始时间排序,开始时间相等的按照截至时间排序
        Arrays.sort(startEnd , (o1 ,o2) -> {
            return o1[0] ==  o2[0] ? o1[1] - o2[1] : o1[0] - o2[0];
        });
        // 保存每一个时间段的终止时间,从小到大
        PriorityQueue<Integer> queue = new PriorityQueue<>();
        for(int i = 0 ; i < n ; i++){
            // 若当前时间段的开始时间大于了队首的终止时间,那么队首的主持人可以继续主持这个,不用加人
            if(!queue.isEmpty() && queue.peek() <= startEnd[i][0]){
                queue.poll();
            }
            queue.offer(startEnd[i][1]);
        }
        return queue.size();
    }
全部评论
这个方法跑不过,第14个case跑不通
点赞 回复 分享
发布于 2022-06-16 11:27

相关推荐

缓解焦虑的最好方法是回家。鼠鼠昨天上午考完了本科阶段的最后一场考试,大概率考得稀烂,但是没多想,考完立马收拾行李,坐上了提前约好的顺风车飞奔回家。虽然家和学校很近,只有一百多公里的路程,但距离上次回家也已经有三四个月了。每次想回家,期间总有考试、毕业设计、面试、实习等等各种各样的原因,没办法回去,待在学校和公司的每一天也都充斥着无形的压力和焦虑。现在终于完成了答辩,考完了试,公司那边也请了假,是时候回去一趟了。没有提前通知爸妈,想给他们一个惊喜。下午提前到了家,他俩还在上班,只好让外公外婆来给我开门。因为我的回家,晚上外婆在厨房格外忙碌,做了满满一大桌子菜,填饱了我天天吃外卖的肚子。晚上也没空...
梦想是成为七海千秋:取决于家庭吧?其实回家更焦虑了,每天起床父母都问实习找好了没简历投递了没今天有没有面试,但是又没有什么结果,玩两下手机父母就会说你看你啥也没找到为什么天天就知道刷手机,怎么不去学习…我现在就希望我能永远在外面实习,报喜不报忧,等拿到一个好offer再回家
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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