मान लीजिए हमारे पास N पूर्णांकों का एक ऐरे है। यहां हम दिए गए ऐरे के डुप्लीकेट प्रिंट करेंगे। यदि ऐसा कोई डुप्लीकेट मौजूद नहीं है, तो -1 वापस करें। तो यदि ऐरे [12, 15, 12, 3, 6, 12, 3, 48, 56, 8, 48] जैसा है, तो डुप्लीकेट हैं: [12, 3, 48]
यहां हम C++ में अनऑर्डर्ड मैप का उपयोग करेंगे। तो पहले जब एक तत्व लिया जाता है, तो जांचें कि क्या वह मैप में मौजूद है या नहीं, यदि यह मौजूद है, तो बस उसे डुप्लीकेट के रूप में प्रिंट करें, अन्यथा बस उसे मैप में जोड़ें।
उदाहरण
#include <iostream>
#include <unordered_map>
using namespace std;
void displayDuplicates(int arr[], int n) {
unordered_map<int, int> occurrence;
for (int i = 0; i < n; i++)
occurrence[arr[i]]++;
bool duplicate = false;
unordered_map<int, int>::iterator itr;
for (itr = occurrence.begin(); itr != occurrence.end(); itr++) {
if (itr->second > 1) {
cout << itr->first << " ";
duplicate = true;
}
}
if (duplicate == false)
cout << "-1";
}
int main() {
int arr[] = {12, 15, 12, 3, 6, 12, 3, 48, 56, 8, 48};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "Duplicate elements are: ";
displayDuplicates(arr, n);
}
आउटपुट
Duplicate elements are: 12 3 48