假设有一个骑自行车的人要去公路旅行。他的公路旅行在不同的高度有n个不同的点。骑自行车的人从海拔 0 的点 0 开始他的旅程。 如果我们有一个称为增益的序列,其中包含 n 个元素,则增益 [i] 是所有点 i 和 i + 1 之间海拔的净增益 (0 <= i < n) . 我们必须找到一个点的最高高度。
所以,如果输入像增益 = [-4,2,6,1,-6],那么输出将是 5,因为高度是 [0,-4,-2,4,5,-1] ,所以最大值为 5。
让我们看看以下实现以获得更好的理解 -
def solve(gain): maximum = 0 run_alt = 0 for delta in gain: run_alt += delta maximum = max(maximum, run_alt) return maximum gain = [-4,2,6,1,-6] print(solve(gain))
[-4,2,6,1,-6]输出结果
5