কম্পিউটার টিউটোরিয়াল

পরিসীমাহীন এলিমেন্টসহ অ্যারেতে ডুপ্লিকেট খুঁজে বের করা C++-তে


মনে করুন আমাদের 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

  1. C++ ব্যবহার করে অ্যারেতে এমন এলিমেন্ট বের করা যেটি সব এলিমেন্টকে ভাগ করে দেয়

  2. C++-এ একটি অ্যারেতে k দূরত্বের মধ্যে ডুপ্লিকেট উপাদান আছে কিনা তা যাচাই করা

  3. C++-এ একটি অ্যারে পেয়ারওয়াইজ সর্টেড (pairwise sorted) কিনা তা যাচাই করা

  4. C++-এ অ্যারে উপাদানগুলির ফ্যাক্টোরিয়ালের GCD বের করা