int controlElevator(int nPerson[], int nfloor, int upWeight){
int targetFloor = 1;
int minFloor = 0;
int N1 = 0;
int N2 = nPerson[1];
int N3 = 0;
int i = 0;
for(i = 2; i <= nfloor; i++){ //i表示大众意义上的第i层
N3 += nPerson[i];
minFloor += (nPerson[i] * (i - 1) * upWeight);
}
for(i = 2; i <= nfloor; i++){
if(N1 + N2 < N3 * upWeight){
minFloor += (N1 + N2 - N3 * upWeight);
N3 -= nPerson[i];
N1 += N2;
N2 = nPerson[i];
targetFloor = i;
}
else
break;
}
return minFloor;
// return targetFloor;
}
编程之美1.8 小飞的电梯调度算法
最新推荐文章于 2021-02-16 01:09:35 发布
本文介绍了一种电梯调度算法的实现细节。该算法通过计算不同楼层乘客的数量及其上下方向的权重来确定电梯的目标楼层,旨在最小化乘客等待时间和提高电梯运行效率。
380

被折叠的 条评论
为什么被折叠?



