首页 > 代码库 > 2014年美团校招之——服务器调度

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


思路:

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;
	}


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