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

C++-এ রিড-অনলি অ্যারে থেকে রিপিটিং এলিমেন্ট বের করা

একটি রিড-অনলি অ্যারে দেওয়া থাকলে, সেটি থেকে যেকোনো একটি রিপিটিং (পুনরাবৃত্ত) এলিমেন্ট বের করতে হবে।

সমাধানের পদ্ধতি

  • অ্যারে ইনিশিয়ালাইজ করুন।
  • একটি ম্যাপ (map<int,int>) দিয়ে ফ্রিকোয়েন্সি গণনা করুন।
  • অ্যারে ট্রাভার্স করে প্রতিটি এলিমেন্টের কাউন্ট বাড়ান।
  • ম্যাপে ইটারেট করে প্রথম যে এলিমেন্টের ফ্রিকোয়েন্সি > 1, সেটি রিটার্ন করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int findRepeatingElement(int arr[], int n) {
    map<int,int> freq;
    for (int i = 0; i < n; i++) {
        auto itr = freq.find(arr[i]);
        if (itr != freq.end()) itr->second++;
        else freq.insert({arr[i], 1});
    }
    for (auto itr = freq.begin(); itr != freq.end(); ++itr)
        if (itr->second > 1) return itr->first;
    return -1;
}

int main() {
    int arr[] = {1, 2, 3, 3, 4, 5, 5, 6};
    cout << findRepeatingElement(arr, 8) << endl;
    return 0;
}

আউটপুট

3
  1. C++-এ STL ব্যবহার করে অ্যারে এলিমেন্টগুলোর যোগফল (Sum) বের করা

  2. সি++ প্রোগ্রাম: ক্রমাগত উপাদানদের XOR দিয়ে অ্যারে উপাদানগুলো খুঁজে বের করা

  3. C++ ব্যবহার করে অ্যারেতে একটি সংখ্যার ফ্রিকোয়েন্সি বের করা

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