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

জাভাস্ক্রিপ্টে বাইনারি অ্যারে-এ n সোয়াপের পর সর্বোচ্চ সমsekutিভ ১


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি বাইনারি অ্যারে (arr - শুধু ০ বা ১) এবং একটি সংখ্যা (num) নেবে। আমরা কমপক্ষে num সংখ্যক ০ কে ১-এ পরিবর্তন করতে পারি। ফাংশনটি এই পরিবর্তন করার পর শুধু ১ ধারণকারী সবচেয়ে দীর্ঘ সমsekutিভ সাব-অ্যারে-এর দৈর্ঘ্য রিটার্ন করবে।

উদাহরণস্বরূপ, ইনপুট যদি হয় –

const arr = [1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0]; const num = 2;

তবে আউটপুট হবে –

const output = 6;

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

কারণ দুটি ০ কে ১-এ বদলে দিলে অ্যারে-এর শেষ ৬টি এলিমেন্ট ১ হয়ে যাবে।

উদাহরণ

কোডটি নিচের মতো –

const arr = [1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0]; const num = 2; const longestOnes = (arr = [], num = 1) => { let max = 0; let left = 0; let curr = num; for(let right = 0; right < arr.length; right++){ if(arr[right] === 0){ curr -= 1; }; while(curr < 0){ if(arr[left] === 0){ curr += 1; }; left += 1; }; max = Math.max(max, right - left + 1); }; return max; }; console.log(longestOnes(arr, num));

আউটপুট

কনসোলে আউটপুট হবে –

6
  1. জাভাস্ক্রিপ্টে বাইনারি অ্যারেতে সর্বোচ্চ এক ০ ফ্লিপ করে সংলগ্ন ১-এর সর্বোচ্চ সংখ্যা

  2. জাভাস্ক্রিপ্টে n ডিজিট রিমুভ করে সবচেয়ে ছোট সংখ্যা বানানো

  3. জাভাস্ক্রিপ্টে প্রতিটি সংখ্যার পরে ছোট সংখ্যাগুলোর সংখ্যা গণনা

  4. জাভাস্ক্রিপ্টে সবচেয়ে দীর্ঘ কনsekutিভ পেয়ার চেইন খুঁজে বের করা