题目:《编程之美》P53
若干个乘客从一楼上电梯,电梯出发后,只能停靠在某一层。问电梯停在哪一层,可以让所有乘客走的总楼层数最少?
分析:
电梯可以停在负层,但没有0层。所以程序返回0时,表示出错。这里有个陷阱,因为没有0层,所以在计算时,应该先把负数的楼层加1.当最后算出来的结果小于等于0时,再减去一,才是实际中的负数层数。
代码中输入的数组的元素,表示每个乘客想去的楼层。最佳停靠楼层肯定落在区间[minfloor,maxfloor],其中minfloor表示乘客想去楼层的最小值,maxfloor表示乘客想去楼层的最大值。