求助,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算法,但不知道怎么状态转移