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

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


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি বাইনারি অ্যারে, 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++ এর সমষ্টি সহ বাইনারি সাবাররে