কম্পিউটার টিউটোরিয়াল

পাইথনে সর্বোচ্চ আরোহী সাবঅ্যারে সম বের করা


ধনাত্মক মান সম্বিষ্ট একটি nums অ্যারে দেওয়া আছে। nums-এ থাকা আরোহী সাবঅ্যারে (প্রতিটি উপাদান পূর্ববর্তীটির চেয়ে বড়) এর সর্বোচ্চ সম্ভাব্য সম বের করতে হবে।

যেমন, nums = [15,25,35,5,15,55] হলে আউটপুট ৭৫। কারণ [5,15,55] আরোহী সাবঅ্যারে যার সম ৭৫।

সমাধানের ধাপসমূহ

  • total := nums[0], max_total := nums[0]
  • i = 1 থেকে nums-এর আকার পর্যন্ত লুপ:
    • যদি nums[i] > nums[i-1] হয়, তবে 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

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

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

  3. পাইথনে সর্বোচ্চ সমষ্টিয়ুক্ত সন্নিবিষ্ট সাবলিস্টের সমষ্টি খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে Maximum Product Subarray (সর্বাধিক গুণফলযুক্ত সাবঅ্যারে)