मान लीजिए कि हमारे पास अंक नामक सकारात्मक मानों की एक सरणी है, हमें अंकों में आरोही उपसरणी का अधिकतम संभव योग खोजना होगा। हम कह सकते हैं कि एक उप-सरणी [nums_l, nums_l+1, ..., nums_r-1, nums_r] आरोही है जब सभी के लिए i जहां l <=i
इसलिए, यदि इनपुट nums =[15,25,35,5,15,55] जैसा है, तो आउटपुट 75 होगा क्योंकि [5,15,55] अधिकतम योग के साथ सबएरे बढ़ा रहा है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
कुल:=अंक[0]
-
max_total:=nums[0]
-
मेरे लिए 1 से लेकर अंकों के आकार तक, करें
-
अगर अंक [i]> अंक [i-1], तो
-
कुल:=कुल + अंक[i]
-
-
अन्यथा,
-
कुल:=अंक[i]
-
-
अगर कुल> max_total, तो
-
max_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