কম্পিউটার

পাইথন প্রোগ্রাম ডিভাইড অ্যান্ড কনক্যুয়ার ব্যবহার করে সর্বাধিক সাবারে সমস্যা সমাধানের জন্য


যখন এটির প্রয়োজন হয় তখন ডিভাইড অ্যান্ড কনক্যুর পদ্ধতি ব্যবহার করে সর্বাধিক সাবারে সমস্যা সমাধান করুন,

নীচে একই −

এর প্রদর্শন করা হল

উদাহরণ

def max_crossing_sum(my_array, low, mid, high):

   sum_elements = 0
   sum_left_elements = -10000

   for i in range(mid, low-1, -1):
   sum_elements = sum_elements + my_array[i]

   if (sum_elements > sum_left_elements):
      sum_left_elements = sum_elements

   sum_elements = 0
   sum_right_elements = -1000
   for i in range(mid + 1, high + 1):
      sum_elements = sum_elements + my_array[i]

      if (sum_elements > sum_right_elements):
         sum_right_elements = sum_elements

   return max(sum_left_elements + sum_right_elements, sum_left_elements, sum_right_elements)

def max_sub_array_sum(my_array, low, high):

   if (low == high):
      return my_array[low]

   mid = (low + high) // 2

   return max(max_sub_array_sum(my_array, low, mid), max_sub_array_sum(my_array, mid+1, high), max_crossing_sum(my_array, low, mid, high))

my_list = [23, 12, 45, 67, 89, 11]
list_length = len(my_list)
print("The list is :")
print(my_list)

max_sum = max_sub_array_sum(my_list, 0, list_length-1)
print("The maximum contiguous sum is ")
print(max_sum)

আউটপুট

The list is :
[23, 12, 45, 67, 89, 11]
The maximum contiguous sum is
247

ব্যাখ্যা

  • 'max_crossing_sum' নামের একটি পদ্ধতি সংজ্ঞায়িত করা হয়েছে যা তালিকার বাম অংশে উপাদানের যোগফল গণনা করে।

  • এটি 'max_sub_array_sum' ব্যবহার করে অর্জন করা হয় যা প্রতিটি সাব অ্যারের যোগফল গণনা করতে সাহায্য করে।

  • পদ্ধতির বাইরে, একটি তালিকা সংজ্ঞায়িত করা হয়, এবং কনসোলে প্রদর্শিত হয়৷

  • তালিকার দৈর্ঘ্য নির্ধারিত হয়।

  • এই তালিকাটি পাস করে সাব অ্যারের যোগফল গণনা করার পদ্ধতিকে বলা হয়।

  • যোগফল কনসোলে আউটপুট হিসাবে প্রদর্শিত হয়


  1. পাইথন ব্যবহার করে একটি এক্সপ্রেশন ট্রি তৈরি এবং মূল্যায়ন করার জন্য প্রোগ্রাম

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

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

  4. পাইথন প্রোগ্রাম একটি তালিকায় সর্বাধিক এবং সর্বনিম্ন উপাদানের অবস্থান খুঁজে পেতে?