我一开始是这么想的 注意这道题数组下标是从大到小推,不是一般的从小到大推 f[i]表示从最高层h到第i层所花的最短时间,答案为f[1] 那么显然 f[i] = f[j] + wait(j) + (j - 1), j > i 也就是说枚举从哪个楼层过来.取最优 wait(j)表示从第j个楼层等待电梯的最短时间. 这个算法应该是正确的,但是时间复杂度很大 有n个电梯,h层的话 枚举i和j要h * h,然后算wait要枚举电梯要n 所以是h * h * n,而题目给的n最大200,h最大10000,肯…