কম্পিউটার

জাভাস্ক্রিপ্টে 0 এবং 1 সহ সংলগ্ন সাব্যারে


সমস্যা:

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি বাইনারি অ্যারে, অ্যারে, (একটি অ্যারে যা শুধুমাত্র 0 বা 1 নিয়ে গঠিত) নেয়। আমাদের ফাংশনটি 1 এবং 0 এর একই সংখ্যা নিয়ে গঠিত অ্যারে থেকে সংলগ্ন সাবয়ারের দৈর্ঘ্য ফিরিয়ে দেবে৷

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

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

তারপর আউটপুট −

হওয়া উচিত
const output = 6;

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

অ্যারের প্রথম 6টি উপাদান হল 1, 0, 0, 1, 0, 1 (তিন 1s এবং তিন 0s)

উদাহরণ

এর জন্য কোড হবে −

const arr = [1, 0, 0, 1, 0, 1, 0, 0];
const findMaxLength = (arr = []) => {
   const { length } = arr;
   if (length < 2){
      return 0
   };
   const map = new Map();
   map.set(0, -1);
   let sum = 0;
   let max = 0;
   for (var i = 0; i < length; i++) {  
      sum += arr[i] === 0 ? -1 : 1;
      if (map.has(sum)) {
         max = Math.max(max, i - map.get(sum));
      } else {
         map.set(sum, i);
      };
   };
   return max;
};
console.log(findMaxLength(arr));

কোড ব্যাখ্যা

এখানে, আমরা 0 কে -1 এবং 1 কে 1 হিসাবে ভেবেছিলাম, এবং বিভিন্ন উইন্ডোর জন্য যোগফল গণনা করেছি, যখন যোগফল 0 হয়, আমরা জানতাম যে সাব্যারেতে অবশ্যই 0 এবং 1 এর একই সংখ্যা থাকতে হবে।

আউটপুট

এবং কনসোলে আউটপুট হবে −

6

  1. কিভাবে CSS এবং JavaScript দিয়ে স্ন্যাকবার/টোস্ট তৈরি করবেন?

  2. JavaScript-এ call() এবং apply() দিয়ে ফাংশন আহ্বান করা

  3. জাভাস্ক্রিপ্ট এবং সিএসএস দিয়ে টাইপিং এবং মুছে ফেলার প্রভাব

  4. জাভাস্ক্রিপ্ট দিয়ে সিএসএস ভেরিয়েবল পান এবং সেট করুন