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

更新於: 2021年5月18日

913 次檢視

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告

© . All rights reserved.