解题要点(Java):
①分别创建存放起始/终止时间的两个数组start/end,循环遍历原集合schedule,将各个时间存入。
②使用Array.sort()对两个数组进行排序。
③遍历,需始终满足下一个活动的起始时间晚于上一个活动的终止时间,才能返回true。
代码实现:
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param schedule int整型ArrayList<ArrayList<Integer>>
* @return bool布尔型
*/
public boolean hostschedule (ArrayList<ArrayList<Integer>> schedule) {
int n = schedule.size();
int[] start = new int[n];
int[] end = new int[n];
for (int i = 0; i < n; i++) {
start[i] = schedule.get(i).get(0);
end[i] = schedule.get(i).get(1);
}
Arrays.sort(start);
Arrays.sort(end);
for (int i = 0; i < n - 1; i++) {
if (start[i + 1] < end[i]) {
return false;
}
}
return true;
}
}

京公网安备 11010502036488号