কম্পিউটার

জাভাস্ক্রিপ্টে সাবয়ারের সর্বাধিক যোগফল খুঁজে পেতে Kadane এর অ্যালগরিদম ব্যবহার করে


সমস্যা

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

আমাদের ফাংশনটি রৈখিক সময়ে যেকোনো সাবয়ারের সর্বোচ্চ যোগফল ফেরত দিতে হবে

যেকোনো নির্বিচারে সূচক i-এ স্থানীয়_সর্বোচ্চ হল arr[i] এবং arr[i] এর যোগফল এবং সূচক i - 1-এ স্থানীয়_সর্বোচ্চ।

লিনিয়ারটাইমে একটি অ্যারের মধ্যে সর্বাধিক সাব্যারে যোগফল খুঁজে পেতে আমরা এটি প্রয়োগ করতে যাচ্ছি৷

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

ইনপুট

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

আউটপুট

const আউটপুট =6;

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

কারণ সর্বাধিক যোগফল সহ সাবয়ারে হল −

[4, -1, 2, 1]

উদাহরণ

নিম্নলিখিত কোড -

const arr =[-2, 1, -3, 4, -1, 2, 1, -5, 4];const maxSequence =(arr =[]) => { চলুন চলুন =0 চলুন maxSum =0 দিন এর জন্য (আসারের উপাদান দিন) { 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++ প্রোগ্রাম বাইনারি অনুসন্ধান পদ্ধতি ব্যবহার করে সর্বাধিক সাবয়ারের যোগফল খুঁজে বের করতে

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

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