qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

设计微信小游戏开发任务调度策略以最小化测试等待时间

时间2023-08-14 20:00:34 提问来自 加州洛杉矶 的网友 分类创作 浏览636
这是一个任务调度问题,可以使用贪心算法来解决。首先,根据发布时间点r和处理时长p,将任务按照发布时间点升序排列。 算法步骤如下: 1. 将任务按照发布时间点r升序排列。 2. 创建一个空闲时间列表free_time,初始时为空。 3. 遍历任务列表,对于每个任务: - 如果free_time为空,表示当前没有空闲时间,将任务的完成时间设置为发布时间点r加上处理时长p,并将该任务的完成时间加入free_time列表。 - 如果free_time不为空,表示当前有空闲时间,从free_time列表中取出最早的空闲时间t,将任务的完成时间设置为t加上处理时长p,并将该任务的完成时间加入free_time列表。 4. 将任务列表按照完成时间升序排列。 5. 输出任务的任务id和完成时间。 根据输入的例子,按照上述算法步骤进行计算: 输入:2 1 4 3 1 任务列表:[(1, 4), (3, 1)] 空闲时间列表:[] 遍历任务列表: - 对于任务(1, 4): 空闲时间列表为空,完成时间为1 + 4 = 5,空闲时间列表变为[5] - 对于任务(3, 1): 空闲时间列表不为空,取出最早的空闲时间5,完成时间为5 + 1 = 6,空闲时间列表变为[6] 任务列表按完成时间升序排列:[(3, 1), (1, 4)] 输出:任务1的完成时间为4,任务2的完成时间为6 所以最终的输出为:1 4 2 6

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 小明从1到1005的数字卡堆中,随机抽出了5张作为手牌,问从手牌中找到两张牌的差值,正好为4倍数的概率是多少? 下一篇 国内江苏佳禾输送设备科技有限公司怎么样?