概述
公司正在组织集中面试,每场面试需要一个面试官,现在以数组的形式给出了每场面试的开始时间和结束时间的时间安排表 [si, ei] (si < ei)),为避免面试冲突,请问至少需要多少位面试官,才能满足这些面试安排。
示例 1:
输入: [[0, 30],[5, 10],[15, 20]]输出: 2
示例 2:
输入: [[7,10],[2,4]]输出: 1
这是一道时间规划问题
思路:先排序,然后比较endTime 和 startTime
public int minInterviewers(int[][] intervals) {
if(intervals==null||intervals.length==0) {
return 0;
}
PriorityQueue<Integer> pq = new PriorityQueue<>();
Arrays.sort(intervals, Comparator.comparingInt(i -> i[0]));
pq.add(intervals[0][1]);
for(int i=1;i!=intervals.length;i++) {
int last=pq.peek();
if(last<=intervals[i][0]) {
pq.poll();
pq.add(intervals[i][1]);
}else{
pq.add(intervals[i][1]);
}
}
return pq.size();
}
最后
以上就是喜悦海燕为你收集整理的时间规划求最少面试官的全部内容,希望文章能够帮你解决时间规划求最少面试官所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复