কম্পিউটার

জাভাস্ক্রিপ্টে পছন্দসই যোগফল সহ বাইনারি সাব্যারে


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি বাইনারি অ্যারে, arr, প্রথম আর্গুমেন্ট হিসাবে এবং একটি সংখ্যা, লক্ষ্য, দ্বিতীয় আর্গুমেন্ট হিসাবে নেয়৷

আমাদের ফাংশন অ্যারে অ্যারে বিদ্যমান সাবয়ারের সংখ্যা গণনা করার কথা, যার উপাদানগুলির যোগফল গণনার সমান। আমাদের অবশেষে এই গণনাটি ফেরত দেওয়া উচিত।

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

ইনপুট

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

আউটপুট

const output = 4;

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

কারণ কাঙ্খিত সাবয়ারেগুলি হল:

[1,0,1][1,0,1,0]
[0,1,0,1]
[1,0,1]

উদাহরণ

const arr = [1, 0, 1, 0, 1];
const target = 2;
const countSubarrays = (arr = [], target = 1) => {
   const map = {}
   let sum = 0
   let count = 0
   for (const num of arr) {
      map[sum] = (map[sum] || 0) + 1
      sum += num
      count += map[sum - target] || 0
   }
   return count
};
console.log(countSubarrays(arr, target));

আউটপুট

4

  1. জাভাস্ক্রিপ্টে সর্বনিম্ন সূচক যোগ সহ সাধারণ উপাদান

  2. জাভাস্ক্রিপ্ট ব্যবহার করে বাইনারি অনুসন্ধানের সাথে একটি অ্যারে অনুসন্ধান করুন

  3. C++ এ জোড় যোগফল সহ সাবয়ারের সংখ্যা খুঁজুন

  4. C++ এর সমষ্টি সহ বাইনারি সাবাররে