获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
项目组共有 N 个开发人员,项目经理接到了 M 个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。
假定各个需求直接无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。
输入描述
第一行输入为 M 个需求的工作量,单位为天,用逗号隔开。
例如:
X1 X2 X3 … Xm
表示共有 M 个需求,每个需求的工作量分别为X1天,X2天,…,Xm天。其中:
- 0 < M < 30
- 0 < Xm < 200
第二行输入为项目组人员数量N
例如:
5
表示共有5名员工,其中 0 < N < 10
输出描述
最快完成所有工作的天数
例如:
25
表示最短需要25天完成所有工作
题目解析
本题要求在有限的开发人员条件下,以最短时间完成多个独立需求的分配。这是一个典型的贪心问题,可以采用贪心策略来解决:每次分配工作量最大的需求给空闲的开发人员,因为