美文网首页
主持人调度

主持人调度

作者: 赵老拖 | 来源:发表于2022-03-13 23:24 被阅读0次

描述

有 n 个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。

一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i 个活动,那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。求为了成功举办这 n 个活动,最少需要多少名主持人。

import java.util.*;


public class Solution {
    public int minmumNumberOfHost (int n, int[][] startEnd) {
        // 首先对开始时间 结束时间进行排序
        int[] start = new int[n];
        int[] end = new int[n];
        for(int i = 0;i<n;i++){
            start[i] = startEnd[i][0];
            end[i] = startEnd[i][1];
        }
        Arrays.sort(start);
        Arrays.sort(end);
        int res = 0;
        int endIndex = 0;
        //如果开始时间小于结束时间,就需要一个主持人
         for(int i = 0;i<n;i++){
             if(start[i]>= end[endIndex]){
                 endIndex++;
             }else{
                 res++;
             }
         }
         return res;
    }
}

相关文章

网友评论

      本文标题:主持人调度

      本文链接:https://www.haomeiwen.com/subject/grtjdrtx.html