您的位置:首页 > 其它

2014年美团校招之——服务器调度

2014-09-12 20:49 141 查看


思路:

t[i] 表示第i台服务器完成一项任务所需要的时间,m台服务器,n个任务,实际上就是尽量是某台机器完成任务所花费的时间最短。

public int estimateProcessTime(int[] t , int m , int n){
//每台服务器的任务数数组
int[] numOfTask = new int[m];
int min = -1;
//开始尝试分配任务
for(int i = 0; i < n ; i++){
min = (numOfTask[0] + 1) * t[0];
int index = 0;
for(int j = 1; j < m ; j++){
int time = (numOfTask[j] + 1) * t[j];
if(time < min){
index = j;
min = time;
}
}
numOfTask[index]++;
}
return min;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: