সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা পূর্ণসংখ্যার একটি অ্যারে (ধনাত্মক এবং নেতিবাচক উভয়ই), 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