অ্যারে একই ডেটা টাইপের উপাদানগুলির একটি ধারক৷
প্রধান ফ্রিকোয়েন্সি মানে অ্যারের উপাদানের সংঘটন সংখ্যা একটি মৌলিক সংখ্যা।
সুতরাং, এই সংজ্ঞাগুলির উপর ভিত্তি করে প্রাইম ফ্রিকোয়েন্সি সহ অ্যারে উপাদানগুলি খুঁজে পেতে সমস্যা। আমরা অ্যারের একটি স্ট্রিং দেওয়া হয়. আমাদের অক্ষরের ফ্রিকোয়েন্সি খুঁজে বের করতে হবে এবং ফ্রিকোয়েন্সি প্রাইম কিনা তা পরীক্ষা করতে হবে এবং তারপর মৌলিক ফ্রিকোয়েন্সি আছে এমন উপাদানগুলি গণনা করতে হবে।
একটি উদাহরণ নেওয়া যাক,
Input: str = “helloworld” Output: 2
ব্যাখ্যা
অক্ষরের সংঘটনের সংখ্যা হল −
h -> 1 e -> 1 l -> 3 o -> 2 w-> 1 r -> 1 d -> 1
l প্রাইম সংখ্যার বার হয় যেমন 3 এবং o আসে প্রাইম সংখ্যার বার অর্থাৎ 2।
স্ট্রিংটি অতিক্রম করা শুরু করুন এবং C++ এ একটি মানচিত্র ব্যবহার করে প্রতিটি অক্ষরের ঘটনা গণনা করুন এবং একটি ঘটনা প্রাইম কিনা তা পরীক্ষা করুন। প্রাইম হলে গণনা বাড়ান অন্যথায় নয়।
অ্যালগরিদম
উপাদানগুলির প্রাইম ফ্রিকোয়েন্সি পরীক্ষা করার জন্য আমরা উপাদানগুলির উপস্থিতি পরীক্ষা করব এবং গণনাটি প্রাইম কিনা তা পরীক্ষা করব। এর জন্য আমরা মানচিত্র বিবেচনায় নেব।
উদাহরণ
#include <iostream> #include <bits/stdc++.h> using namespace std; int check_prime(int n) { if (n <= 1) return 0; if (n <= 3) return 1; if (n % 2 == 0 || n % 3 == 0) return 0; for (int i = 5; i * i <= n; i = i + 6) if (n % i == 0 || n % (i + 2) == 0) return 0; return 1; } int countPrimeFrequent(string s) { int count = 0; unordered_map<char, int> mp; for (int i = 0; i < s.length(); i++) mp[s[i]]++; for (auto it = mp.begin(); it != mp.end(); it++) { if (check_prime(it->second)) count++; } return count; } int main() { string s = "helloworld"; cout << countPrimeFrequent(s); return 0; }
আউটপুট
The repeat elements of the array are : 2