একজন বাইকার রোড ট্রിപ്പে যাচ্ছেন। nটি পয়েন্ট আছে ভিন্ন ভিন্ন উচ্চতায়। বাইকার ০ নম্বর পয়েন্ট থেকে উচ্চতা ০ দিয়ে শুরু করেন। gain অ্যারেতে nটি এলিমেন্ট আছে, gain[i] হলো পয়েন্ট i এবং i+1-এর মধ্যবর্তী নেট উচ্চতা পার্থক্য। সর্বোচ্চ উচ্চতা কোন পয়েন্টে সেটা বের করতে হবে।
ইনপুট: gain = [-4, 2, 6, 1, -6] → আউটপুট: 5। উচ্চতা গুলো: [0, -4, -2, 4, 5, -1], সর্বোচ্চ ৫।
সমাধানের ধাপসমূহ
maximum := 0, run_alt := 0
gain-এর প্রতিটি delta-এর জন্য:
- 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