亚洲微软研究院所在的希格玛大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯每层都停。实习生小飞常常会被每层都停的电梯弄的很不耐烦,于是他提出了这样一个办法:
由于楼层并不算太高,那么在繁忙的上下班时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客从一楼上电梯,到达某层后,电梯停下来,所有乘客再从这里爬楼梯到自己的目的层。在一楼的时候,每个乘客选择自己的目的层,电梯则计算出应停的楼层。
由于楼层并不算太高,那么在繁忙的上下班时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客从一楼上电梯,到达某层后,电梯停下来,所有乘客再从这里爬楼梯到自己的目的层。在一楼的时候,每个乘客选择自己的目的层,电梯则计算出应停的楼层。
问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少?
方法一:暴力枚举,时间复杂度O(N^2)

文章探讨了如何确定电梯停靠楼层以最小化所有乘客爬楼梯层数之和的问题。提出了暴力枚举的O(N^2)方法和动态规划的O(N)算法。通过分析,发现该问题实质上是寻找一组数据的中位数,即电梯停在乘客目标楼层的中位数位置,能使得总爬楼层数最少。
最低0.47元/天 解锁文章
560

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



