কম্পিউটার

পাইথন ব্যবহার করে সর্বাধিক ঊর্ধ্বগামী সাবয়ারের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যা নামক ধনাত্মক মানের একটি বিন্যাস রয়েছে, আমাদের সংখ্যায় একটি ঊর্ধ্বগামী সাবয়ারের সর্বাধিক সম্ভাব্য যোগফল খুঁজে বের করতে হবে। আমরা বলতে পারি একটি সাবঅ্যারে [nums_l, nums_l+1, ..., nums_r-1, nums_r] ঊর্ধ্বমুখী হয় যখন সমস্ত i যেখানে l <=i

সুতরাং, যদি ইনপুটটি সংখ্যার মত হয় =[15,25,35,5,15,55], তাহলে আউটপুট হবে 75 কারণ [5,15,55] সর্বাধিক যোগফল সহ সাবয়ারে বাড়ছে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • মোট:=সংখ্যা[0]

  • সর্বোচ্চ_মোট:=সংখ্যা[0]

  • আমি রেঞ্জ 1 থেকে সংখ্যার আকারের জন্য, করুন

    • যদি nums[i]> nums[i-1] হয়, তাহলে

      • মোট :=মোট + সংখ্যা[i]

    • অন্যথায়,

      • মোট:=সংখ্যা[i]

    • যদি মোট> সর্বোচ্চ_মোট, তাহলে

      • max_total:=মোট

  • সর্বোচ্চ_মোট ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

def solve(nums):total=nums[0] max_total=nums[0] রেঞ্জে i এর জন্য(1,len(nums)):if nums[i]> nums[i-1]:total+=nums আর 

ইনপুট

[15,25,35,5,15,55]

আউটপুট

75

  1. পাইথনে সর্বাধিক দুটি নন-ওভারল্যাপিং সাবলিস্টের যোগফল খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে সংলগ্ন সাবয়ারের সর্বাধিক পণ্য খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে সর্বাধিক যোগফল সহ সংলগ্ন সাবলিস্টের যোগফল খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে সর্বাধিক পণ্য সাবারে