सरणी समान डेटा प्रकार के तत्वों का एक कंटेनर है।
प्राइम फ़्रीक्वेंसी इसका मतलब है कि सरणी के तत्व की घटना की संख्या एक प्रमुख संख्या है।
तो, इन परिभाषाओं के आधार पर अभाज्य आवृत्तियों वाले सरणी तत्वों को खोजने में समस्या। हमें सरणी की एक स्ट्रिंग दी गई है। हमें वर्णों की आवृत्ति का पता लगाना होगा और जांच करनी होगी कि क्या आवृत्ति अभाज्य है और फिर अभाज्य आवृत्तियों वाले तत्वों की गणना करें।
आइए एक उदाहरण लेते हैं,
Input: str = “helloworld” Output: 2
स्पष्टीकरण
वर्णों के घटित होने की संख्या है -
h -> 1 e -> 1 l -> 3 o -> 2 w-> 1 r -> 1 d -> 1
l अभाज्य संख्या में आता है अर्थात 3 और o अभाज्य संख्या में आता है अर्थात 2.
स्ट्रिंग को ट्रैवर्स करना शुरू करें और सी ++ में मानचित्र का उपयोग करके प्रत्येक वर्ण की घटनाओं की गणना करें और जांचें कि कोई घटना प्रमुख है या नहीं। यदि अभाज्य है तो गिनती बढ़ाएँ अन्यथा नहीं।
एल्गोरिदम
तत्वों की अभाज्य आवृत्ति की जाँच करने के लिए हम तत्वों की घटना की जाँच करेंगे और जाँचेंगे कि गिनती अभाज्य है या नहीं। इसके लिए हम नक्शों पर विचार करेंगे।
उदाहरण
#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