华为OD机试真题 Java 实现【任务总执行时长】【2023Q1 100分】

在这里插入图片描述

一、题目描述

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

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

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

二、输入描述

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

三、输出描述

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

四、补充说明

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

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

五、解题思路

  1. 首先读取输入的任务执行时长 taskA、taskB 和要编排的任务个数 num;
  2. 使用逗号分隔输入的任务执行时长,将其存储在数组 split 中;
  3. 将任务执行时长转换为整数类型,并分别赋值给变量 taskA、taskB 和 num;
  4. 使用 TreeSet 来存储所有可能的总执行时长,以便自动按从小到大的顺序排序;
  5. 使用循环从 0 到 num,依次计算每种任务数量的组合情况,并计算总

你可能感兴趣的:(华为,java,开发语言,算法,面试)