一、题目描述
项目组共有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天能完成所有工作。
四、测试用例
测试用例1:
1、输入
8 8 8 8 8 1
3
2、输出
16
测试用例1:
1、输入
10 10 10 10
2
2、输出
20
3、说明
两名员工各分配两项任务,最大负载为20天。
本文介绍了如何使用贪心算法解决华为OD机试中关于项目排期的问题。题目要求在多个独立需求和有限开发人员的情况下,最小化项目完成时间。解题思路采用最短处理时间优先策略,将任务按工作量从大到小排序,然后分配给工作量最小的开发人员。Java算法源码和效果展示也在文中给出。
订阅专栏 解锁全文
4712





