কম্পিউটার

একটি প্রদত্ত অ্যারেতে সদৃশগুলি সন্ধান করুন যখন উপাদানগুলি C++ এর একটি পরিসরে সীমাবদ্ধ থাকে না


ধরুন আমাদের এন পূর্ণসংখ্যার একটি অ্যারে আছে। এখানে আমরা প্রদত্ত অ্যারের ডুপ্লিকেট প্রিন্ট করব। যদি এই ধরনের কোন সদৃশ উপস্থিত না থাকে, তাহলে -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

  1. একটি অ্যারে উপাদান খুঁজুন যাতে সমস্ত উপাদান এটি দ্বারা c++ ব্যবহার করে বিভাজ্য হয়

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

  3. একটি প্রদত্ত অ্যারে C++ এ জোড়া অনুসারে সাজানো হয়েছে কিনা তা পরীক্ষা করুন

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