मान लीजिए हमारे पास nums नामक सकारात्मक मानों की एक सरणी है, हमें nums में एक आरोही सबएरे का अधिकतम संभव योग ढूंढना है। हम कह सकते हैं कि एक सबएरे [nums_l, nums_l+1, ..., nums_r-1, nums_r] आरोही है जब सभी i के लिए जहां l <= i < r, nums_i < nums_i+1।
उदाहरण के लिए, यदि इनपुट nums = [15,25,35,5,15,55] है, तो आउटपुट 75 होगा क्योंकि [5,15,55] अधिकतम योग वाला बढ़ता हुआ सबएरे है।
हल करने के चरण
total := nums[0]
max_total := nums[0]
i को 1 से nums के आकार तक की रेंज में लिए करें
यदि nums[i] > nums[i-1], तो
total := total + nums[i]
अन्यथा,
total := nums[i]
यदि total > max_total, तो
max_total := total
max_total वापस करें
उदाहरण
def solve(nums):
total = nums[0]
max_total = nums[0]
for i in range(1, len(nums)):
if nums[i] > nums[i-1]:
total += nums[i]
else:
total = nums[i]
if total > max_total:
max_total = total
return max_total
nums = [15,25,35,5,15,55]
print(solve(nums))
इनपुट
[15,25,35,5,15,55]
आउटपुट
75