专栏名称: 算法与数据结构
算法与数据结构知识、资源分享
目录
相关文章推荐
九章算法  ·  job market大放水来了! ·  5 天前  
九章算法  ·  Meta大裁员10%!疑为TikTok人才“ ... ·  2 天前  
九章算法  ·  2025MLE上岸重点来了!资深MLE亲自教 ... ·  3 天前  
算法爱好者  ·  7118 ... ·  2 天前  
算法与数学之美  ·  13岁学编程,20岁哈佛退学,31岁成为世界 ... ·  2 天前  
51好读  ›  专栏  ›  算法与数据结构

算法题 12:任务调度算法(美团校招笔试题)

算法与数据结构  · 公众号  · 算法  · 2017-01-11 10:14

正文

来自:美团2015校园招聘研发笔试题


题目:任务调度在分布式调度系统中是一个很复杂很有挑战的问题。这里我们考虑一个简化的场景:假设一个中央调度机,有n个相同的任务需要调度到m台服务器上去执行。由于每台服务器的配置不一样,因此服务器执行一个任务所花费的时间也不同。现在假设第i个服务器执行一个任务需要的时间为 t[i]


例如:有2个执行机a, b. 执行一个任务分别需要7min,10min,有6个任务待调度。如果平分这6个任务,即a,b各分三个任务,则最短需要30min执行完所有。如果a分这4个任务,b分2个,则最短28min执行完。


请设计调度算法,使得所有任务完成所需的时间最短


1) 简述思路


2) 请用你熟悉的编程语言编码实现以下方法,输入为m台服务器,每台机器处理一个任务的时间为t[i],完成n个任务,输出n个任务在m台服务器的分布:

int estimate_process_time(int[] t, int m, int n);


备注:

不定期选出 算法牛人 ,赠与图灵出版社出版赞助的书籍一本。







请到「今天看啥」查看全文