首页 > 解决方案 > 算法设计问题挑战,不同长度的数组和计算作业的提前期

问题描述

我需要一些帮助来获得剩余工作的平均提前期。假设 a1,a2,a3.....,an 是作业的开始时间,以升序排列,b1,b2,b3,.....,bn 是作业的结束时间,以随机顺序排列。假设文件(包含作业)从一个desk1 传输到desk2,并且一些作业将在传输时间之前完成,并且将为在desk1 开始的剩余作业建立lead_time。t1,t2,t3....,tm(升序)是从desk1到desk2的文件传输时间。假设 tm>an 并且文件从不访问已经访问过的桌面。

我解决此问题的方法如下,我通过获取作业完成时间和转移时间的差异来检查作业是否在转移时间进行:伪代码

start_time = {a1, a2, a3,....,an} // (ascending order)
end_time = {b1, b2, b3,....,bn} // (random order) (jobs can be or random duration)
transfer_time = {t1,t2,t3,....,tm} // (ascending order)
lead_time = 0
jobs_desk2 = 0 
for (int i = 0; i<m; i++){ 
                  if(t[i] > a[i] && b[i] > t[i] && t[i] != 0){
                                                lead_time += b[i] - t[i]
                                                jobs_desk2++
                   }
                   }
lead_time = lead_time/jobs_desk2

标签: arraysalgorithmstructure

解决方案


推荐阅读