华为OD机试C卷-- 项目排期(Java & JS & Python & C)

飞码创造者 2024-06-27 16:05:12 阅读 64

获取题库不需要订阅专栏,可直接私信我进入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天完成所有工作

题目解析

本题要求在有限的开发人员条件下,以最短时间完成多个独立需求的分配。这是一个典型的贪心问题,可以采用贪心策略来解决:每次分配工作量最大的需求给空闲的开发人员,因为



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。