一、题目描述
任务编排服务负责对任务进行组合调度。
参与编排的任务有两种类型,其中一种执行时长为taskA,另一种执行时长为taskB。
任务一旦开始执行不能被打断,且任务可连续执行。服务每次可以编排num个任务。请编写一个方法,生成每次编排后的任务所有可能的总执行时长。
二、输入描述
第1行输入分别为第1种任务执行时长taskA,第2种任务执行时长taskB,这次要编排的任务个数num,以逗号分隔。
三、输出描述
数组形式返回所有总执行时时长,需要按从小到大排列。
四、补充说明
每种任务的数量都大于本次可以编排的任务数量:
0 < taskA
0 < taskB
0 <= num <= 100000
五、解题思路
- 首先读取输入的任务执行时长 taskA、taskB 和要编排的任务个数 num;
- 使用逗号分隔输入的任务执行时长,将其存储在数组 split 中;
- 将任务执行时长转换为整数类型,并分别赋值给变量 taskA、taskB 和 num;
- 使用 TreeSet 来存储所有可能的总执行时长,以便自动按从小到大的顺序排序;
- 使用循环从 0 到 num,依次计算每种任务数