首页 > 试题广场 >

主持人调度(一)

[编程题]主持人调度(一)
  • 热度指数:1867 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
有 n 个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。

一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i 个活动,那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。请问一个只有一个主持人能否举办全部活动。

数据范围:
示例1

输入

[[0,10],[10,20],[20,30]]

输出

true
示例2

输入

[[0,10],[10,20],[15,30]]

输出

false
头像 unique琪殿
发表于 2023-07-23 17:35:13
解题要点(Java):①分别创建存放起始/终止时间的两个数组start/end,循环遍历原集合schedule,将各个时间存入。②使用Array.sort()对两个数组进行排序。③遍历,需始终满足下一个活动的起始时间晚于上一个活动的终止时间,才能返回true。代码实现: import java.ut 展开全文
头像 这个算法非得学吗
发表于 2023-08-18 17:28:11
import java.util.*; public class Solution { public static boolean hostschedule(ArrayList<ArrayList<Integer>> schedule) { //先排序: 展开全文
头像 君无颜
发表于 2022-03-25 18:47:06
实现思路:先排序,然后循环遍历,挨着和前面的比 如果出现的当前组的 end 比下一组的 start大,则返回false 如果循环正常结束,则没有问题,返回true 举例说明:[[0,10],[10,20],[15,30]] 其中[0,10]是第一组,0为第一组的start,10为第一组的end 展开全文
头像 牛牛牛牛牛每一天
发表于 2023-12-12 17:12:17
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param schedule int整型二维数组 # @return bool布尔型 # class Solution: def hostschedule(self , schedule: L 展开全文
头像 噜噜啦啦(✪▽✪)
发表于 2022-07-25 11:23:56
class Solution:     def hostschedule(self , schedule: List[List[int]]) -> bool:    展开全文
头像 姐姐的遮阳伞
发表于 2022-04-09 22:54:03
import java.util.*; public class Solution { public class ComparaActivities implements Comparator<ArrayList<Integer>> { 展开全文
头像 好想有份工作
发表于 2023-04-26 09:46:27
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param schedule int整型ArrayList 展开全文