আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি বাইনারি অ্যারে (শুধু ০ বা ১ ধারণকারী অ্যারে) একমাত্র আর্গুমেন্ট হিসেবে গ্রহণ করবে।
ফাংশনটি সেই Liên tục সাবঅ্যারেটি খুঁজে বের করবে যেটি শুধু ১ ধারণ করে এবং তার দৈর্ঘ্য রিটার্ন করবে।
উদাহরণস্বরূপ —
ইনপুট অ্যারে যদি হয় —
const arr = [1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1];
তাহলে আউটপুট হবে —
const output = 4;
আমরা স্লাইডিং উইন্ডো অ্যালগরিদম ব্যবহার করব যাতে শুধু ১ ধারণকারী সর্বোচ্চ আকারের উইন্ডো (window) ক্যাপচার করা যায়।
উদাহরণ
কোডটি নিচে দেওয়া হলো —
const arr = [1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1];
const findMaxConsecutiveOnes = (arr = []) => {
let left = 0;
let right = 0;
let max = 0;
while (right < arr.length) {
if (arr[right] === 0) {
if (right - left > max) {
max = right - left
};
right++;
left = right;
} else {
right++
};
};
return right - left > max ? right - left : max;
}
console.log(findMaxConsecutiveOnes(arr));
আউটপুট
কনসোল আউটপুট:
4