কম্পিউটার

জাভাস্ক্রিপ্টে সর্বাধিক ফ্রিকোয়েন্সি গঠন করে সবচেয়ে ছোট সম্ভাব্য দৈর্ঘ্য


সমস্যা

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

আমাদের ফাংশনটি অ্যারে অ্যারের একটি (সংলগ্ন) সাবয়ারের সবচেয়ে ছোট সম্ভাব্য দৈর্ঘ্য খুঁজে পাওয়ার কথা, যেটির পুরো অ্যারের মতো যেকোনো উপাদানের একই সর্বাধিক ফ্রিকোয়েন্সি রয়েছে।

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

ইনপুট

const arr = [55, 77, 77, 88, 55];

আউটপুট

const output = 2;

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

ইনপুট অ্যারেতে 2 এর যেকোনো উপাদানের জন্য সর্বাধিক ফ্রিকোয়েন্সি রয়েছে কারণ 55 এবং 77 উভয় উপাদানই দুইবার প্রদর্শিত হয়।

পুরো অ্যারের হিসাবে সবচেয়ে বেশি ফ্রিকোয়েন্সি আছে এমন সাব্যারেগুলির মধ্যে সবচেয়ে ছোট দৈর্ঘ্য হল 2। তাই, আমরা 2 ফেরত দিই।

উদাহরণ

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

const arr = [55, 77, 77, 88, 55];
const shortestLength = (arr) => {
   let freq = 0
   let len = Infinity
   arr.reduce((acc, num, index) => {
      if (acc[num] !== undefined) {
         acc[num].freq += 1
         acc[num].range[1] = index
      } else {
         acc[num] = {
            freq: 0,
            range: [index, index],
         }
      }
      if (acc[num].freq > freq) {
         freq = acc[num].freq
         len = acc[num].range[1] - acc[num].range[0] + 1
      } else if (acc[num].freq === freq) {
         len = Math.min(
            len,
            acc[num].range[1] - acc[num].range[0] + 1,
         )
      }
      return acc
   }, {})
   return len
};
console.log(shortestLength(arr));

আউটপুট

2

  1. জাভাস্ক্রিপ্ট অ্যারে দৈর্ঘ্য:একটি সম্পূর্ণ গাইড

  2. জাভাস্ক্রিপ্ট অ্যারে দৈর্ঘ্য সম্পত্তি

  3. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের দৈর্ঘ্য

  4. ইতিমধ্যে-ঘোষিত ভেরিয়েবলে কি ডি-স্ট্রাকচার করা সম্ভব? জাভাস্ক্রিপ্টে?