题目描述
公司创新实验室正在研究如何最小化资源成本,最大化资源利用率,请你设计算法帮他们解决一个任务混部问题:
有taskNum项任务,每个任务有开始时间(startTime),结束时间(endTime),并行度(parallelism)三个属性,
并行度是指这个任务运行时将会占用的服务器数量,一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用,任务运行完成立即释放(结束时刻不占用)。
任务混部问题是指给定一批任务,让这批任务由同一批服务器承载运行,
请你计算完成这批任务混部最少需要多少服务器,从而最大化控制资源成本。
输入描述
第一行输入为taskNum,表示有taskNum项任务
接下来taskNum行,每行三个整数,表示每个任务的
开始时间(startTime ),结束时间(endTime ),并行度(parallelism)
输出描述
一个整数,表示最少需要的服务器数量
备注
1 <= taskNum <= 1000000 <= startTime < endTime <= 500001 <= parallelism <= 100
用例
该博客介绍了华为OD在线测试中的一道问题,即如何设计算法解决任务混部问题,以最小化资源成本并最大化资源利用率。任务具有开始时间、结束时间和并行度属性,目标是计算完成所有任务所需的最少服务器数量。博客提供了一个Java解决方案,并附带了输入输出描述和示例。
订阅专栏 解锁全文
1379

被折叠的 条评论
为什么被折叠?



