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

জাভাস্ক্রিপ্টে সর্বোচ্চ ফ্রিকোয়েন্সি ধারণকারী উপ-অ্যারের ন্যূনতম দৈর্ঘ্য খুঁজে বের করা

সমস্যা

একটি সংখ্যার অ্যারে arr দেওয়া আছে। পুরো অ্যারেতে যেকোনো এলিমেন্টের সর্বোচ্চ ফ্রিকোয়েন্সি যত, সেটি পুরো অ্যারেতেও থাকে এমন একটি সংলগ্ন (contiguous) উপ-অ্যারের ন্যূনতম দৈর্ঘ্য বের করতে হবে।

উদাহরণ:

ইনপুট

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

আউটপুট

const output = 2;

ব্যাখ্যা

ইনপুট অ্যারেতে ৫৫ এবং ৭৭ উভয়ই দুইবার এসে সর্বোচ্চ ফ্রিকোয়েন্সি ২। এই ফ্রিকোয়েন্সি ধারণকারী সবচেয়ে ছোট উপ-অ্যারে হলো [77, 77] বা [55, 55] (দৈর্ঘ্য ২)।

উদাহরণ কোড

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. JavaScript Array Length: সম্পূর্ণ গাইড

  2. জাভাস্ক্রিপ্ট Array length প্রপার্টি

  3. জাভাস্ক্রিপ্ট - অ্যারে অবজেক্টের length প্রোপার্টি

  4. জাভাস্ক্রিপ্টে ইতিমধ্যে ডিক্লেয়ার করা ভেরিয়েবলে ডিস্ট্রাকচারিং করা