题解 | #主持人调度(一)#

主持人调度(一)

https://www.nowcoder.com/practice/e160b104354649b69600803184094adb

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

全部评论

相关推荐

hwwhwh:同双非,有大厂实习其实也没啥用,主要看运气,等就行了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务