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

জাভাস্ক্রিপ্টে সাবঅ্যারেতে ম্যাক্সিমাম কন্টiguous সম বের করা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা পজিটিভ ও নেগেটিভ ইন্টিজারগুলোর একটি অ্যারে নেবে। যেহেতু অ্যারেতে নেগেটিভ এলিমেন্ট আছে, স 거기서 কন্টিগুয়াস এলিমেন্টগুলোর যোগফল নেগেটিভ বা পজিটিভ হতে পারে।

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

উদাহরণস্বরূপ:

যদি ইনপুট অ্যারে হয়:

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

তাহলে সর্বোচ্চ সম্ভাব্য যোগফল ৭ এবং আউটপুট সাবঅ্যারে হবে:

const output = [4, -1, -2, 1, 5];

উদাহরণ

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

const arr = [-2, -3, 4, -1, -2, 1, 5, -3]; const maximumSubarray = (arr = []) => {    let max = -Infinity;    let currentSum = 0;    let maxStartIndex = 0;    let maxEndIndex = arr.length - 1;    let currentStartIndex = 0;    arr.forEach((currentNumber, currentIndex) => {       currentSum += currentNumber;       if (max < currentSum) {          max = currentSum;          maxStartIndex = currentStartIndex;          maxEndIndex = currentIndex;       }       if (currentSum < 0) {          currentSum = 0;          currentStartIndex = currentIndex + 1;       }    });    return arr.slice(maxStartIndex, maxEndIndex + 1); }; console.log(maximumSubarray(arr));

আউটপুট

কনসোলে নিচের আউটপুট পাওয়া যাবে:

[ 4, -1, -2, 1, 5 ]

  1. জাভাস্ক্রিপ্টে নেস্টেড অ্যারে-এর ওজনিত সমষ্টি গণনা

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

  3. জাভাস্ক্রিপ্টে সার্কুলার অ্যারেতে সর্বোচ্চ সাবঅ্যারে যোগফল

  4. C++-এ সन्नিহিত অ্যারে