কম্পিউটার

C++ এ একটি অ্যারেতে সবচেয়ে ঘন ঘন উপাদান


আমাদের একটি অ্যারে দেওয়া হয়েছে এবং আমাদের এটি থেকে সবচেয়ে ঘন ঘন উপাদান খুঁজে বের করতে হবে। আসুন একটি উদাহরণ দেখি।

ইনপুট

arr = [1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 4]

আউটপুট

2

উপরের অ্যারেতে, 2টি 4 বার ঘটে যা অ্যারের অন্য যেকোনটির চেয়ে বেশি ঘন ঘন হয়৷

অ্যালগরিদম - 1

  • অ্যারে শুরু করুন৷

  • প্রতিটি উপাদানের ফ্রিকোয়েন্সি সংরক্ষণ করতে একটি মানচিত্র শুরু করুন৷

  • প্রতিটি উপাদানের ফ্রিকোয়েন্সি গণনা করুন এবং মানচিত্রে সংরক্ষণ করুন।

  • মানচিত্রের উপর পুনরাবৃত্তি করুন এবং সর্বাধিক ফ্রিকোয়েন্সি সহ উপাদানটি খুঁজুন।

  • উপাদানটি ফেরত দিন।

অ্যালগরিদম - 2

  • অ্যারে শুরু করুন।
  • প্রদত্ত অ্যারে সাজান।
  • সর্বোচ্চ গণনা, ফলাফল এবং বর্তমান উপাদান গণনার জন্য ভেরিয়েবল বজায় রাখুন।
  • অ্যারের উপর পুনরাবৃত্তি করে সর্বাধিক গণনা উপাদানটি খুঁজুন।
  • একই উপাদান পাশাপাশি থাকে।
  • ফলাফল ফেরত দিন।

বাস্তবায়ন

C++

-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল
#include <bits/stdc++.h>
using namespace std;
int getMostFrequentNumber(int arr[], int n) {
   unordered_map<int, int> elements;
   for (int i = 0; i < n; i++) {
      elements[arr[i]]++;
   }
   int maxCount = 0, res = -1;
   for (auto i : elements) {
      if (maxCount < i.second) {
         res = i.first;
         maxCount = i.second;
      }
   }
   return res;
}
int main() {
   int arr[] = { 1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 4 };
   int n = 11;
   cout << getMostFrequentNumber(arr, n) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

2

  1. C++ এ সংখ্যাগরিষ্ঠ উপাদান

  2. C++ এ একটি অ্যারে বিপরীত করুন

  3. C++-এ অ্যারের প্রতিটি উপাদানের সারপাসার কাউন্ট খুঁজুন

  4. C++ STL-এ অ্যারে অ্যালগরিদম