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

সি++-এ অ্যারেতে সবচেয়ে বেশি বার আবির্ভূত উপাদান বের করা

একটি অ্যারে দেওয়া থাকলে সেটিতে সবচেয়ে বেশি বার উপস্থিত উপাদানটি বের করতে হবে।

উদাহরণ

ইনপুট: [1, 2, 3, 3, 2, 2, 1, 1, 2, 3, 4]

আউটপুট: 2 (২ মোট ৪ বার এসেছে)

অ্যালগরিদম (হ্যাশ ম্যাপ ব্যবহার)

  • অ্যারে ইনিশিয়ালাইজ করুন।
  • unordered_map দিয়ে প্রতিটি উপাদানের ফ্রিকোয়েন্সি গণনা করুন।
  • ম্যাপ ট্রাভার্স করে সর্বোচ্চ ফ্রিকোয়েন্সি বিশিষ্ট উপাদান বের করুন।

অ্যালগরিদম (সর্টিং ব্যবহার)

  • অ্যারে সর্ট করুন।
  • একই উপাদানগুলো পাশাপাশি থাকবে।
  • লিনিয়ার স্ক্যান করে সর্বোচ্চ ফ্রিকোয়েন্সি বের করুন।

সি++ ইমপ্লিমেন্টেশন (হ্যাশ ম্যাপ)

#include <bits/stdc++.h>
using namespace std;

int getMostFrequentNumber(int arr[], int n) {
    unordered_map freq;
    for (int i = 0; i < n; i++) freq[arr[i]]++;
    int maxCount = 0, res = -1;
    for (auto& p : freq) {
        if (p.second > maxCount) {
            maxCount = p.second;
            res = p.first;
        }
    }
    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; // 2
    return 0;
}

আউটপুট

2
  1. C++-এ মেজোরিটি এলিমেন্ট (Majority Element)

  2. অ্যারে রিভার্স C++-তে

  3. অ্যারে উপাদানগুলোর সারপাসার (Surpasser) কাউন্ট (C++)

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