কম্পিউটার

জাভাস্ক্রিপ্টে লক্ষ্যমাত্রার চেয়ে কম সাবয়ারের পণ্য


সমস্যা

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

আমাদের ফাংশনটি (সংলগ্ন) সাবয়ারের সংখ্যা গণনা এবং ফেরত দেওয়ার কথা যেখানে সাবয়ারের সমস্ত উপাদানের গুণফল লক্ষ্যের চেয়ে কম৷

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

ইনপুট

const arr = [10, 5, 2, 6];
const target = 100;

আউটপুট

const output = 8;

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

100-এর কম গুণফল বিশিষ্ট 8টি সাবঅ্যারে হল −

[10], [5], [2], [6], [10, 5], [5, 2], [2, 6], [5, 2, 6].

উল্লেখ্য যে [10, 5, 2] অন্তর্ভুক্ত নয় কারণ 100-এর গুণফল k-এর থেকে কঠোরভাবে কম নয়।

উদাহরণ

নিম্নলিখিত কোড -

const arr = [10, 5, 2, 6];
const target = 100;
const countSubarrays = (arr = [], target = 1) => {
   let product = 1
   let left = 0
   let count = 0
   for (let right = 0; right < arr.length; right++) {
      product *= arr[right]
      while (left <= right && product >= target) {
         product /= arr[left]
         left += 1
      }
      count += right - left + 1
   }
   return count
};
console.log(countSubarrays(arr, target));

আউটপুট

8

  1. জাভাস্ক্রিপ্টে অপারেটর (<) এর চেয়ে কম কি?

  2. জাভাস্ক্রিপ্টে TypedArray.subarray() ফাংশন

  3. Object.assign() জাভাস্ক্রিপ্টে?

  4. জাভাস্ক্রিপ্টে new.target