解题要点(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;
    }
}