arrays - 算法设计问题挑战,不同长度的数组和计算作业的提前期
问题描述
我需要一些帮助来获得剩余工作的平均提前期。假设 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
解决方案
推荐阅读
- vba - Excel-VBA-带变量的IF-Else语句第一部分不回答
- php - 2>&1 和日志文件同时进行
- apache-kafka - 如何将消息发送到 Kafka 中的特定分区?
- android - Android:如何修复通知的递增 setNumber()?
- java - 原因:javax.persistence.PersistenceException:无法解析持久性单元根 URL
- javascript - 多盗窃自动 HTML 登录
- html - 实现电子邮件模板的所需布局
- c++ - 由于在第一个 for 循环中访问越界元素,此代码是否存在未定义行为?
- wordpress - Wordpress 页面在特定页面上的“从页面缓存中清除”之后消失
- android - React Native:构建项目时出错