public int minmumNumberOfHost (int n, int[][] startEnd) {
// write code here
Arrays.sort(startEnd, (o1, o2)->o1[0] == o2[0] ? o1[1] - o2[1] : o1[0] - o2[0]);
//初始化优先队列
PriorityQueue<Integer> queue = new PriorityQueue<>();
for (int[] activity : startEnd) {
//如果当前开始时间大于等于之前某个活动的结束时间,说明可以让之前那个主持人继续主持当前的活动
if (!queue.isEmpty() && queue.peek() <= activity[0]) {
queue.poll();
}
//如果不满足,需要新派一个主持人
queue.offer(activity[1]);
}
return queue.size();
}