मान लीजिए एक बाइकर रोड ट्रिप पर जा रहा है। उसकी रोड ट्रिप में 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 := max(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