यहां हम एक समस्या देखेंगे। हमारे पास एक ऐरे है। हमारा कार्य उन तत्वों को ढूंढना है जिनकी आवृत्ति 1 से अधिक है। मान लीजिए तत्व हैं {1, 5, 2, 5, 3, 1, 5, 2, 7}। यहां 1 दो बार आया, 5 तीन बार आया और 2 तीन बार आया, अन्य केवल एक बार आए। तो आउटपुट होगा {1, 5, 2}।
एल्गोरिदम
moreFreq(arr, n)
शुरुआत
int प्रकार की कुंजी और int प्रकार के मान के साथ मैप परिभाषित करें
arr में प्रत्येक तत्व e के लिए करें
map.key(arr).value बढ़ाएं
पूर्ण
प्रत्येक कुंजी के लिए जांचें कि क्या मान 1 से अधिक है, तो कुंजी प्रिंट करें
समाप्त
उदाहरण
#include <iostream>
#include <map>
using namespace std;
void moreFreq(int arr[], int n) {
map<int, int> freq_map;
for (int i = 0; i < n; i++) {
freq_map[arr[i]]++;
}
for (auto it = freq_map.begin(); it != freq_map.end(); it++) {
if (it->second > 1)
cout << it->first << " ";
}
}
int main() {
int arr[] = {1, 5, 2, 5, 3, 1, 5, 2, 7};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Frequency more than one: ";
moreFreq(arr, n);
return 0;
}
आउटपुट
Frequency more than one: 1 2 5