আমাদের একটি অ্যারে দেওয়া হয়েছে এবং আমাদের এটি থেকে সবচেয়ে ঘন ঘন উপাদান খুঁজে বের করতে হবে। আসুন একটি উদাহরণ দেখি।
ইনপুট
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