【A卷2022Q4】任务混部(华为od2023机试真题JAVA+JS)

该博客讨论了华为OD2023机试中的一项真题——任务混部问题,目标是设计算法最小化资源成本并最大化资源利用率。任务包括开始时间、结束时间和并行度属性,要求计算完成所有任务所需的最少服务器数量。文中提供了输入输出描述、示例和满分代码(JAVA和JavaScript)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更多试卷真题,点击:华为OD2023真题试卷列表,刷题必点

任务混部

知识点差分

 时间限制:1s 空间限制:256MB 限定语言:不限

题目描述:

公司创新实验室正在研究如何最小化资源成本,最大化资源利用率,请你设计算法帮他们解决一个任务混部问题:有taskNum项任务,每个任务有开始时间(startTime ),结束时间(endTime),并行度(parallelism)三个属性,并行度是指这个任务运行时将会占用的服务器数量,一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用,任务运行完会立即释放(结束时刻不占用)。任务混部问题是指给定一批任务,让这批任务由同一批服务器承载运行,请你计算完成这批任务混部最少需要多少服务器,从而最大化控制资源成本。

输入描述:

第一行输入为taskNum,表示有taskNum项任务

接下来taskNum行,每行三个整数,表示每个任务的开始时间(startTime ),结束时间(endTime),并行度(parallelism)

输出描述:

一个整数,表示最少需要的服务器数量

补充说明:

1<=taskNum<=100000

0<=startTime<endTime<=50000

1=<parallelism<=100

示例1

输入:

3

2 3 1

6 9 2

0 5 1

输出:

2

说明:

一共有三个任务,第一个任务在时间区间[2,3)运行,占用1个服务器,第二个任务在时间区间[6,9)运行,占用2个服务器,第三个任务在时间区间[0,5)运行,占用1个服务器,需要最多服务器的时间区间为[2,3)和[6,9),需要2个服务器。

示例2

输入:

2

3 9 2

4 7 3

输出:

5

说明:

一共有两个任务,第一个任务在时间区间[3,9)运行,占用2个服务器,第二个任务在时间区间[4,7)运行,占用3个服务器,需要最多服务器的时间区间为[4,7),需要5个服务器。

JAVA代码满分

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
public class Main{
   
 
    public static void main(String[] args) {
   
 
        Scanner sc = new Scanner(System.in);
 
        int taskNum = sc.nextInt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值