华为OD机试 2023最新 】整理扑克牌(C++ 100%)"/>
【华为OD机试 2023最新 】整理扑克牌(C++ 100%)
题目描述
任务编排服务负责对任务进行组合调度。
参与编排的任务有两种类型,其中一种执行时长为taskA,另一种执行时长为taskB。
任务一旦开始执行不能被打断,且任务可连续执行。
服务每次可以编排num个任务。
请编写一个方法,生成每次编排后的任务所有可能的总执行时长。
输入描述
第1行输入分别为第1种任务执行时长taskA,
第2种任务执行时长taskB,
这次要编排的任务个数num,以逗号分隔。
注:每种任务的数量都大于本次可以编排的任务数量
- 0 < taskA
- 0 < taskB
- 0 <= num <= 100000
输出描述
数组形式返回所有总执行时时长,需要按从小到大排列。
用例
题目解析
这其实就是求每种排列的和
比如用例中,有三个任务,那么有如下组合:
- 三个1
- 两个1,一个2
- 一个1,两个2
- 三个2
无论每个组合,能编排成几个排列,其实执行总时长,即排列的和都是一样的
- 三个1:和为3
- 两个1,一个2:和为4
- 一个1,两个2:和为5
- 三个2:和为6
C+
更多推荐
【华为OD机试 2023最新 】整理扑克牌(C++ 100%)
发布评论