Python程序:查找点的最高海拔
假设有一个骑自行车的人正在进行公路旅行。在他的公路旅行中,有n个不同的点,它们位于不同的海拔高度。骑车人从海拔0的点0开始他的旅行。如果我们有一个名为gain的包含n个元素的序列,gain[i]表示所有(0 <= i < n)点i和i+1之间海拔的净增益。我们必须找到一个点的最高海拔。
因此,如果输入类似于 gain = [-4,2,6,1,-6],则输出将为 5,因为海拔为 [0,-4,-2,4,5,-1],因此最大值为 5。
为了解决这个问题,我们将遵循以下步骤 -
maximum := 0
run_alt := 0
对于gain中的每个delta,执行以下操作
run_alt := run_alt + delta
maximum := maximum 和 run_alt 的最大值
返回 maximum
示例(Python)
让我们看看以下实现以获得更好的理解 -
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
广告