โจทย์
นักปั่นจักรยานเริ่มที่ความสูง 0 มี Array gain ที่ gain[i] = ความสูงเพิ่ม/ลดระหว่างจุด i และ i+1 หาความสูงสูงสุดที่ถึง
ตัวอย่าง: gain = [-4,2,6,1,-6] → ความสูง: [0,-4,-2,4,5,-1] → Max = 5
อัลกอริธึม
- สะสม Running Altitude
- ติดตาม Max ทุกขั้นตอน
โค้ด 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)) # Output: 5
Input / Output
Input: [-4,2,6,1,-6]
Output: 5