华为OD机试真题 Java 实现【任务混部】【2023Q1 200分】

news2025/1/20 16:28:06

在这里插入图片描述

一、题目描述

公司创新实验室正在研究如何最小化资源成本,最大化资源利用率,请你帮他们解决一个任务混部问题:

有taskNum项任务,每个任务有开始时间(startTime ),结束时间(endTime),并行度(parallelism)三个属性,并行度是指这个任务运行时将会占用的服务器数量,一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用,任务运行完会立即释放(结束时刻不占用)。

任务混部问题是指给定一批任务,让这批任务由同一批服务器承载运行,请你计算完成这批任务混部最少需要多少服务器,从而最大化控制资源成本。

二、输入描述

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

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

三、输出描述

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

四、补充说明

1<=taskNum<=100000
0<=startTime<endTime<=50000
1=<parallelism<=100

五、Java算法源码

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    // n个任务
    int n = sc.nextInt();
    int[] nums = new int[50000];
    for (int i = 0; i < n; i++) {
        // 每个任务的开始时间
        int startTime = sc.nextInt();
        // 结束时间
        int endTime = sc.nextInt();
        // 并行度
        int count = sc.nextInt();
        for (int j = startTime; j < endTime; j++) {
            nums[j] += count;
        }
    }
    Arrays.sort(nums);
    System.out.println(nums[49999]);
}

五、效果展示

1、输入

3
2 3 1
6 9 2
0 5 1

2、输出

2

3、说明

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

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【获得完美走位】【2023Q1 100分】

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/556020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统之cut命令的基本使用

Linux系统之cut命令的基本使用 一、cut命令介绍1. cut命令简介2.cut命令的由来 二、在Linux中命令帮助1. cut的help帮助信息2. cut的选项 三、cut的基本使用1. 指定字段的内容2. 使用分隔符打印文本内容3. 显示行中指定范围的字符 四、cut命令的日常使用1. 提取IP地址2. 提取本…

position:sticky-粘性吸附布局

一、描述 就是在一个滚动的容器里,将一个子元素设置为postion:sticky 在元素显示在可视区域内,显示的效果与position:relative 一致&#xff0c;当元素被滑动出可视区域外是,显示效果与position:fixed一致 二、注意事项 1、父元素需要存在滚动&#xff08;overflow:auto&…

快速入门Springboot整合Datagpa操作数据库

简介SpringDatagpa Spring Data JPA是Spring Data家族的一部分&#xff0c;可以轻松实现基于JPA的存储库。 . JPA是ORM规范&#xff0c;Hibernate是JPA规范的具体实现&#xff0c;这样的好处是开发者可以面向JPA规范进行持久层的开发&#xff0c;而底层的实现则是可以切换的。S…

day5 套接字属性设置

选项的级别 SOL_SOCKET 该级别的选项只作用于套接字本身 SOL_LRLMP 该级别的选项作用于IrDA协议 IPPROTO_IP 该级别的选项作用于IPv4协议 IPPROTO_IPV6 该级别的选项作用于IPv6协议 IPPROTO_RM 该级别的选项作用于可靠的多播传输 IPPROTO_TCP 该级别的选项适用于流式…

信道通信基础 - 传输介质(双绞线、光纤)

文章目录 1 概述2 传输介质2.1 双绞线2.2 光纤 3 扩展3.1 网工软考真题 1 概述 2 传输介质 2.1 双绞线 双绞线&#xff1a;8 根铜导线每 2 根扭在一起&#xff08;百兆用 4 根&#xff0c;千兆必须用 8 根&#xff09;分类 2.2 光纤 光纤&#xff1a;利用光在 玻璃或塑料纤…

很长一段时间没有用Ubuntu,无法获得锁**,锁正由进程***持有

问题分析&#xff1a;意思就是有另一个进程占用了apt-get&#xff0c;因为Ubuntu锁的访问机制是互斥的&#xff0c;即同一时间只能允许一个进程占用&#xff0c;只需要将那个占用的进程强制删除掉就行了。 使用如下两条命令即可&#xff1a; sudo rm /var/lib/dpkg/lock-fron…

藏在大神们收藏夹里的实用工具类网站!

今天来给大家分享几个大神们推荐的&#xff0c;藏在收藏夹里的宝藏工具类网站 Toolfk https://www.toolfk.com/ 一款程序员的工具箱&#xff0c;里面包含非常多实用工具&#xff0c;不仅有各种程序相关功能&#xff0c;还有很多不懂程序人也能用的简易功能。PHP在线加密工具、…

docker-compose 搭建maven私服 nexus与配置

目录 创建文件目录 docker-compose.yml文件 登录 配置 创建阿里云代理仓库 配置仓库顺序 maven配置文件setting.xml配置 本地jar包部署 在linux上搭建 创建文件目录 mkdir -p /apps/minio/{config,data,logs} 赋权限 chmod -R 777 data docker-compose.yml文件 version…

按键中断实验和串口中断实验

目录 【1】按键中断实验 【2】串口中断实验 【1】按键中断实验 实验要求&#xff1a;STM32上电LED&#xff08;PB0&#xff09;灯灭 &#xff0c;当检测到按键&#xff08;PA8&#xff09;按下时处理中断事件&#xff0c;变量i 扩展&#xff1a;知识点 响应优先级-》在两个中断…

Camtasia2023简体中文版屏幕录像 支持MP4/AVI/WMV等多种格式

在现在的网络互联网时代&#xff0c;越来越多的人走上了自媒体的道路。有些自媒体人会自己在网络上录制精彩视频&#xff0c;也有一些人会将精彩、热门的电影剪辑出来再加上自己给它的配音&#xff0c;做成大家喜欢看的电影剪辑片段。相信不管大家是自己平时有独特的爱好也好、…

TOGAF架构开发方法—ADM 架构需求管理

一、目标 需求管理阶段的目标是&#xff1a; 确保需求管理流程持续运行&#xff0c;并在所有相关的 ADM 阶段运行管理在 ADM 周期或阶段的任何执行期间确定的架构要求确保在执行阶段时&#xff0c;每个阶段都可以使用相关的体系结构要求 二、输入 需求管理阶段的输入包括&am…

Bean作用域、生命周期

bean作用域如何设置行为模式Bean的生命周期 bean作用域 Bean 的作用域指bean在spring框架的某种行为模式&#xff1b;bean的6种作用域分别是以下&#xff1a; 1&#xff1a;单例&#xff08;Singleton&#xff09;作用域 2&#xff1a;原型&#xff08;Prototype&#xff09;作…

chatgpt赋能Python-python_chardet

Python Chardet: 自动识别文件编码的利器 Python Chardet 是一个用于自动识别文件编码的工具&#xff0c;它基于最新的编码库&#xff0c;可以自动检测多种编码类型。在今天的多语言互联网时代&#xff0c;我们经常需要处理各种编码类型的文件&#xff0c;例如&#xff1a;爬虫…

chatgpt赋能Python-python_calc

介绍 Python Calc 是一款基于 Python 编程语言开发的计算器应用程序。它具备简单易用、功能强大、可扩展性强等特点&#xff0c;广泛应用于数据科学、机器学习、人工智能等领域。 Python Calc 提供了基本算术运算、三角函数、指数函数、对数函数等常用数学运算&#xff0c;同…

chatgpt赋能Python-python_cancel

Python的Cancel&#xff1a;如何有效管理异步操作&#xff1f; 在编写Python应用程序时&#xff0c;异步编程是提高性能和响应能力的重要方式。然而&#xff0c;异步编程会带来一些挑战&#xff0c;如复杂性和不可预测的代码执行顺序。幸运的是&#xff0c;Python提供了一个名…

设计模式-简单Demo掌握责任链模式

文章目录 1、要点2、Demo3、进阶掌握 参考文章&#xff1a; 基本原理&#xff1a;责任链模式 | 菜鸟教程 (runoob.com) 简单例子&#xff1a;五分钟学设计模式.12.责任链模式_哔哩哔哩_bilibili 阿里巴巴的应用&#xff1a;责任链模式在复杂数据处理场景中的实战 责任链模式&am…

chatgpt赋能Python-python_6_0_

Python——一门强大的编程语言 Python是现今最流行的编程语言之一&#xff0c;广泛应用于Web开发、数据分析、人工智能等领域&#xff0c;优雅简洁的语法和强大的库使得Python成为很多开发者的首选语言。 Python的优点 易学易用 作为一门动态类型的语言&#xff0c;Python的…

由浅入深Dubbo核心源码剖析SpringBoot整合使用

目录 1 Dubbo与SpringBoot的整合2 公用RPC接口工程3. 服务端工程4. 消费端工程5. 工程调用验证 1 Dubbo与SpringBoot的整合 基于Zookeeper实现Dubbo与Spring Boot的集成整合,依赖导入 <properties><dubbo-version>2.7.8</dubbo-version><spring-boot.vers…

CMake初学笔记(一)

CMake初学笔记&#xff08;一&#xff09; CMake是什么CMake怎么实现跨平台CMake具体实践过程CMakeLists.txt编写快速入门常见函数例子 CMake是什么 跨平台编译工具&#xff0c;为了实现“write once, run everywhere”。 CMake怎么实现跨平台 开发者编写与平台无关的编译过…