如何在华为OD机试中获得满分?Java实现【任务总执行时长】一文详解!

news/2025/2/19 5:45:01/

请添加图片描述

✅创作者:陈书予
🎉个人主页:陈书予的个人主页
🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区
🌟专栏地址: Java华为OD机试真题(2022&2023)

文章目录

  • 1. 题目描述
  • 2. 输入描述
  • 3. 输出描述
  • 4. Java算法源码
  • 5. 测试
  • 6.解题思路

1. 题目描述

任务编排服务负责对任务进行组合调度。

参与编排的任务有两种类型,其中一种执行时长为taskA,另一种执行时长为taskB。

任务一旦开始执行不能被打断,且任务可连续执行。服务每次可以编排num个任务。请编写一个方法,生成每次编排后的任务所有可能的总执行时长。

2. 输入描述

第1行输入分别为第1种任务执行时长taskA,第2种任务执行时长taskB,这次要编排的任务个数num,以逗号分隔。

3. 输出描述

数组形式返回所有总执行时时长,需要按从小到大排列。

补充说明:
每种任务的数量都大于本次可以编排的任务数量:

0 < taskA
0 < taskB
0 <= num <= 100000

4. Java算法源码

/*** 任务总执行时长*/
public static void main(String[] args) {Scanner sc = new Scanner(System.in);String line = sc.nextLine();String[] split = line.split(",");int taskA = Integer.parseInt(split[0]);int taskB = Integer.parseInt(split[1]);int num = Integer.parseInt(split[2]);Set<Integer> set = new TreeSet<>();for (int i = 0; i <= num; i++) {int val = taskA * i + taskB * (num - i);set.add(val);}System.out.println(set);
}

5. 测试

在这里插入图片描述

6.解题思路

在这里插入图片描述

  1. 首先读取输入的任务执行时长 taskAtaskB 和要编排的任务个数 num
  2. 使用逗号分隔输入的任务执行时长,将其存储在数组 split 中。
  3. 将任务执行时长转换为整数类型,并分别赋值给变量 taskAtaskBnum
  4. 使用 TreeSet 来存储所有可能的总执行时长,以便自动按从小到大的顺序排序。
  5. 使用循环从 0 到 num,依次计算每种任务数量的组合情况,并计算总执行时长:
    • 假设任务 A 的数量为 i,则任务 B 的数量为 num - i
    • 总执行时长为 taskA * i + taskB * (num - i)
    • 将总执行时长添加到 set 中。
  6. 输出 set,即为按从小到大排列的所有总执行时

在这里插入图片描述


http://www.ppmy.cn/news/96437.html

相关文章

结构体 --- C语言

目录 1.结构体的声明 2.结构体变量的定义和初始化 3.结构体成员访问 4.结构体传参 1.结构体的声明 结构是一些值的集合&#xff0c;这些称为成员变量&#xff0c;结构的每个成员可以是不同类型的变量。 而数组是一组类型相同的元素的集合。 生活中的描述 人&#xff1a;名…

如何保证RabbitMQ消息的顺序性

针对以上问题&#xff0c;一个解决思路是&#xff1a;保证消息的唯一性&#xff0c;就算是多次传输&#xff0c;不要让消息的多次消费带来影响&#xff1b;保证消息等幂性&#xff1b;比如&#xff1a;在写入消息队列的数据做唯一标示&#xff0c;消费消 息时&#xff0c;根据…

关于MySQL表添加某一列和删除某一列

前言&#xff1a;MySQL是一种广泛使用的关系型数据库管理系统&#xff0c;它是一种开源的软件&#xff0c;由瑞典的MySQL AB公司开发的。 文章目录&#xff1a; 添加MySQL表中某一列删除MySQL表中某一列 一、添加MySQL表中某一列 下面的语法向MySQL表中添加新的一列&#xff…

网络安全学习心得分享~

我的学习心得&#xff0c;我认为能不能自学成功的要素有两点。 第一点就是自身的问题&#xff0c;虽然想要转行学习安全的人很多&#xff0c;但是非常强烈的想要转行学好的人是小部分。而大部分人只是抱着试试的心态来学习安全&#xff0c;这是完全不可能的。 所以能不能学成并…

【Labview如何显示数据库表格中的内容】

Labview如何显示数据库表格中的内容 前提操作思路框图 前提 已经成功将数据库与Labview相连接&#xff0c;若还没有链接可以查看&#xff1a;Labview与SQL Server互联 进行操作 操作 思路 首先创建一个表格控件&#xff0c;通过一个按钮启动程序&#xff0c;通过程序调用数…

day38|动态规划-爬楼梯问题

DP问题类型&#xff1a; 动态规划比较重要的是找到前后两个状态之间的联系&#xff0c;在向后遍历的过程中注意遍历的顺序和初始化操作。 动归基础类问题 背包问题 打家劫舍 股票问题 子序列问题 DP问题的一些注意事项&#xff1a; 动态规划类的问题代码都是比较简洁的&…

2.== 和 equals 的区别是什么?

解读 对于基本类型和引用类型 的作用效果是不同的&#xff0c;如下所示&#xff1a; 基本类型&#xff1a;比较的是值是否相同&#xff1b;引用类型&#xff1a;比较的是引用是否相同&#xff1b; 代码示例&#xff1a; String x "string"; String y "st…

服务器上的项目从Gitee上拉取,并且避免重新安装依赖

如果您已经在本地电脑上对项目进行了修改并将其同步到了Gitee上&#xff0c;现在希望将服务器上的文件与Gitee同步&#xff0c;并且避免重新安装依赖&#xff0c;您可以按照以下步骤进行操作&#xff1a; 1. 在服务器上&#xff0c;进入Flask项目的目录。您可以使用命令行终端…