কম্পিউটার

জাভাস্ক্রিপ্টে n বিভিন্ন উপাদান সহ অ্যারের অংশ


সমস্যা

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

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

const arr = [12, 15, 12, 15, 18];
const num = 2;

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

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

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

ঠিক 2টি ভিন্ন উপাদান −

দিয়ে গঠিত সাবাররে
[12,15], [15,12], [12,15], [15,18], [12,15,12], [15,12,15], [12,15,12,15]

উদাহরণ

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

const arr = [12, 15, 12, 15, 18];
const num = 2;
const distinctSubarrays = (arr = [], num = 1) => {
   const findDistinct = (count) => {
      const map = {};
      let ptr = 0;
      let distinct = 0;
      let res = 0;
      for(let right = 0; right < arr.length; right++){
         const num = arr[right];
         map[num] = (map[num] || 0) + 1;
         if(map[num] === 1){
            distinct += 1;
         };
         while(distinct > count){
            map[arr[ptr]] -= 1;
            if(map[arr[ptr]] === 0){
               distinct -= 1;
            };
            ptr += 1;
         };
         res += right - ptr + 1;
      };
      return res;
   };
   return findDistinct(num) - findDistinct(num - 1)
};
console.log(distinctSubarrays(arr, num));

আউটপুট

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

7

  1. জাভাস্ক্রিপ্টে অ্যারে এলিমেন্ট বাছাই করা

  2. নতুন কীওয়ার্ড দিয়ে একটি জাভাস্ক্রিপ্ট অ্যারে তৈরি করা হচ্ছে।

  3. জাভাস্ক্রিপ্টের সাথে একই অ্যারের একটি অ্যারের উপাদানগুলিকে কীভাবে নকল করবেন?

  4. একটি শর্ত সহ একটি জাভাস্ক্রিপ্ট অ্যারে যোগদান?