求助,vivo笔试第三题

数组workList代表一个任务的需求,value值代表每个需求需要的时间(单位天),且每个需求只能一个人完成,一个人同时只能做一个需求,招聘耗时固定为costTime,开始项目共 n 个人,例如

[1,2,3,4,5] 2, 2

1、两个人同时招聘,耗时2天,项目此时共四人,

2、三个人同时做 最后三个需求,另一个人招聘,共耗时5天

整个任务共耗时 7 天

有几种情况

1、n >= workList.size() 不需要招募

2、n < workList.size()

(1) workList元素相加和小于costTime, 不需要招聘

(2) workList元素相加和大于costTime, 需要招聘

根据不同的招聘人数,重复判断workList元素相加和是否小于costTime:

a. 根据当前项目人数怎么分配 做任务和招聘 的人数

自己总结的一些情况,作为参考,不要影响了正确算法的思路,应该是DP算法,但不知道怎么状态转移

全部评论
贪心就行,不用dp
点赞 回复 分享
发布于 2023-03-01 18:02 湖北

相关推荐

牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务