一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间(给你一个数组,里面 是一个个具体的项目),你来安排宣讲的日程,要求会议室进行 的宣讲的场次最多。返回这个最多的宣讲场次。
(哪个会议的结束时间最早,就先进行哪个会议)
public static class Program{
public int start;
public int end;
public Program(int s,int e) {
start=s;
end=e;
}
}
public static class ProgramComparator implements Comparator<Program>{
@Override
public int compare(Program o1, Program o2) {
return o1.end-o2.end;
}
}
public static int bestArrage(Program[] p,int start) {
Arrays.sort(p, new ProgramComparator());
int result=0;
for(int i=0;i<p.length;i++) {
if(start<=p[i].start) {
result++;
start=p[i].end;
}
}
return result;
}