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

জাভাস্ক্রিপ্টে যোগফল K সহ মোট সাবঅ্যারে গণনা


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্ট হিসেবে সংখ্যার একটি অ্যারে এবং দ্বিতীয় আর্গুমেন্ট হিসেবে একটি একক সংখ্যা নেয়। ফাংশনটি 연속 সাবঅ্যারেগুলোর গণনা খুঁজে বের করে ফেরত দেবে যাদের যোগফল দ্বিতীয় আর্গুমেন্ট দ্বারা নির্দিষ্ট সংখ্যার সমান।

গ্যারান্টি দেওয়া আছে যে অ্যারেতে সব সংখ্যাগুলো ধনাত্মক।

উদাহরণস্বরূপ −

ইনপুট গুলো যদি হয় −

const arr = [1, 1, 1]; const sum = 2;

তবে আউটপুট হওয়া উচিত ২ কারণ এই অ্যারেতে ঠিক দুইটি সাবঅ্যারে রয়েছে যাদের যোগফল ২।

আমরা স্লাইডিং উইন্ডো অ্যালগরিদম ব্যবহার করব যা টু-পয়েন্টার আপনার মাধ্যমে বাঞ্ছিত উইন্ডো (প্রয়োজনীয় যোগফল সহ সাবঅ্যারে) খুঁজে বের করে এবং তাদের সংখ্যা গণনা করে।

উদাহরণ

const arr = [1, 2, 3, 4, 5]; const sum = 5; // two pointer approach to find one matching subarray const findOne = (arr, target, start = 0) => {    let left = start, right = start, sum = 0;    while(right < arr.length){       sum += arr[right];       if(sum === target){          return true;       }       else if(sum < target){          right++;       }else{          left++;          sum -= left;          if(left > right){             right = left;          };       };    };    return false; }; // iterating over the array to find all pair count const findAll = (arr = [], target) => {    let count = 0;    for(let i = 0; i < arr.length; i++){       count += findOne(arr, target, i);    };    return count; }; console.log(findAll(arr, sum)); console.log(findAll([1, 1, 1], 2));

আউটপুট

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

2 2

  1. জাভাস্ক্রিপ্ট getPrototypeOf() উদাহরণসহ

  2. জাভাস্ক্রিপ্টে ইনহেরিট্যান্স উদাহরণসহ

  3. সম যোগফল ওয়ালা সাবঅ্যারের সংখ্যা খুঁজে বের করা C++-এ

  4. সি++-এ বাইনারি সাবঅ্যারে উইথ সম (Binary Subarrays With Sum)