BM96 主持人调度(二)
描述
有 n 个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。
一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i 个活动,那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。求为了成功举办这 n 个活动,最少需要多少名主持人。
数据范围: 1 \le n \le 10^51≤n≤105 , -2^{32} \le start_i\le end_i \le 2^{31}-1−232≤starti≤endi≤231−1
一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i 个活动,那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。求为了成功举办这 n 个活动,最少需要多少名主持人。
数据范围: 1 \le n \le 10^51≤n≤105 , -2^{32} \le start_i\le end_i \le 2^{31}-1−232≤starti≤endi≤231−1
复杂度要求:时间复杂度 O(n \log n)O(nlogn) ,空间复杂度 O(n)O(n)
示例1
输入:
2,[[1,2],[2,3]]
返回值:
1
说明:
只需要一个主持人就能成功举办这两个活动
示例2
输入:
2,[[1,3],[2,4]]
返回值:
2
说明:
需要两个主持人才能成功举办这两个活动
解
import java.util.*;
public class Solution{
pubilc int minOfHost(int n,int[][]array){
int[] tempA=new int[array.length];
int[] tempB=new int[array.length];
for(int i=0,i<n,i++){
tempA[i]=array[i][0];
tempB[i]=array[i][1];
}
Array.sort(tempA);
int count =0;
int j=0;
for(int i=0,i<n,i++){
if(tempA(i)<temp(j))
count++;
}
return count
}
}
posted on 2022-09-19 17:04 somedieyoung-navi 阅读(134) 评论(0) 收藏 举报
浙公网安备 33010602011771号