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

জাভাস্ক্রিপ্টে ক্যাডেন-এর অ্যালগরিদম দিয়ে সর্বোচ্চ সাবঅ্যারে যোগফল


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি পূর্ণসংখ্যার অ্যারে arr (ধনাত্মক ও ঋণাত্মক উভয়) প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে নেবে।

ফাংশনটি যেকোনো সাবঅ্যারের সর্বোচ্চ যোগফল লিনিয়ার টাইমে ফেরত দেবে।

একinske ঈশ্বরième সূচক i-তে local_maximum হল arr[i] এবং arr[i] + index i-1-এ local_maximum-এর যোগফলের মধ্যে সর্বোচ্চ।

এটিই আমরা লিনিয়ার টাইমে অ্যারেতে সর্বোচ্চ সাবঅ্যারে যোগফল বের করতে ব্যবহার করব।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const arr = [-2, 1, -3, 4, -1, 2, 1, -5, 4];

আউটপুট

const output = 6;

আউটপুট ব্যাখ্যা

কারণ সর্বোচ্চ যোগফল দায়ক সাবঅ্যারে হল –

[4, -1, 2, 1]

উদাহরণ

নিচে কোডটি দেওয়া হল –

const arr = [-2, 1, -3, 4, -1, 2, 1, -5, 4]; 
const maxSequence = (arr = []) => { 
  let currentSum = 0; 
  let maxSum = 0; 
  for (let elem of arr) { 
    const nextSum = currentSum + elem; 
    maxSum = Math.max(maxSum, nextSum); 
    currentSum = Math.max(nextSum, 0); 
  } 
  return maxSum; 
}; 
console.log(maxSequence(arr));

আউটপুট

6

  1. C++-এ ডিভাইড এন্ড কংকর অ্যালগরিদম দিয়ে সর্বোচ্চ সাবঅ্যারে সম

  2. C++-এ বাইনারি সার্চ পদ্ধতিতে সর্বোচ্চ সাবঅ্যারে যোগফল (Maximum Subarray Sum)

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

  4. কাডেনের অ্যালগরিদম দিয়ে ম্যাক্সিমাম সাবঅ্যারে সমস্যা সমাধানের পাইথন প্রোগ্রাম