电梯有N层,从底层到第i层的人有iFloorPassengerNum[i]个人,电梯只能停一次的话,求停那一次是的步行的层数最少。从下往上依次考察停某层的话,是Y-(NAbove-NFloor-NBottom)达到最小值, NAbove指到改层的人数, NBottom是该层停时到其以下层所有的人应该步行的层数,NAbove则是之上的。 最底层初始化这些数据,然后每考察一层时,其上每个人就少走一层,其下的每个人就多走一层,新到的一层为到该层的人数。 但NAbove<NFloor+Nbottom时候即是过了V的谷底,之前的得出的几位最小层数和该停的楼层。但可以停K层时,要考虑的问题增多,涉及到动态规划,可能。主要是求得什么样的划分是最好的。
[程序]-
Total Walks Numbers (All) :
0 ->No.1F -> 92Fs
4 ->No.2F -> 68Fs
4 ->No.3F -> 52Fs
5 ->No.4F -> 44Fs
3 ->No.5F -> 46Fs
2 ->No.6F -> 54Fs
2 ->No.7F -> 66Fs
1 ->No.8F -> 82Fs
3 ->No.9F -> 100Fs
**Floor Passengers Numbers:
3 ->No.9F
1 ->No.8F
2 ->No.7F
2 ->No.6F
3 ->No.5F
5 ->No.4F
4 ->No.3F
4 ->No.2F
0 ->No.1F
**Best Stop is(FewestWalks): ->No.4F, TotalWalks->44Fs