মনে করুন আমাদের N পূর্ণসংখ্যার একটি অ্যারে আছে। এখানে আমরা দেওয়া অ্যারের ডুপ্লিকেটগুলো প্রিন্ট করব। যদি এমন কোনো ডুপ্লিকেট না থাকে, তবে -1 রিটার্ন করুন। তাই যদি অ্যারেটি হয় [12, 15, 12, 3, 6, 12, 3, 48, 56, 8, 48], তবে ডুপ্লিকেটগুলো: [12, 3, 48]
এখানে আমরা C++-তে unordered_map ব্যবহার করব। তাই প্রথমে যখন একটি উপাদান নেওয়া হবে, চেক করুন সেটি ম্যাপে আছে কিনা, যদি থাকে, তবে সেটিকে ডুপ্লিকেট হিসেবে প্রিন্ট করুন, অন্যথায় সেটিকে ম্যাপে যোগ করুন।
উদাহরণ
#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