সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি বাইনারি অ্যারে arr একমাত্র আর্গুমেন্ট হিসেবে নেবে। ফাংশনটি সর্বোচ্চ একটি ০ ফ্লিপ করলে সংলগ্ন ১-এর সর্বোচ্চ সংখ্যা কত হতে পারে সেটি বের করবে।
উদাহরণ:
const arr = [1, 0, 1, 1, 0];
আউটপুট হবে:
const output = 4;
আউটপুট ব্যাখ্যা
ইন্ডেক্স ১-এ থাকা ০ কে ফ্লিপ করলে ৪টি সংলগ্ন ১ পাওয়া যায়।
উদাহরণ
কোডটি নিচের মতো (স্লাইডিং উইন্ডো):
const arr = [1, 0, 1, 1, 0]; const findMaximumOne = (nums = []) => { let count = 0; let first = -1; let i =0, j = 0; let res = -Infinity; while(j < nums.length){ if(nums[j] === 1){ res = Math.max(res, j-i+1); }else{ count++; if(count==2){ i = first + 1; count--; }; first = j; }; j++; }; return res; }; console.log(findMaximumOne(arr)); আউটপুট
কনসোলে আউটপুট:
4