কম্পিউটার

সর্বাধিক সংখ্যক উপাদান খুঁজুন যেমন তাদের পরম পার্থক্য C++ এ 1 এর কম বা সমান


ধরুন আমাদের n উপাদানের একটি অ্যারে আছে। অ্যারে থেকে নির্বাচন করার জন্য আমাদেরকে সর্বাধিক সংখ্যক উপাদান খুঁজে বের করতে হবে, যেমন দুটি নির্বাচিত উপাদানের মধ্যে পরম পার্থক্য 1 এর কম বা সমান। সুতরাং যদি অ্যারেটি [2, 2, 3, 4, 5], তাহলে উপাদানটি 3 হবে, তাই সর্বাধিক গণনা সহ ক্রম হল 2, 2, 3৷

0 এবং 1 এর পরম পার্থক্য মানে, সংখ্যাটি x এবং x + 1 টাইপ হতে পারে। তাই ধারণাটি হল অ্যারের উপাদানগুলির ফ্রিকোয়েন্সি সংরক্ষণ করা। তাই আমরা যদি পরপর দুটি উপাদানের সর্বোচ্চ যোগফল খুঁজে পাই, তাহলে এটি হবে সমাধান।

উদাহরণ

#include <iostream>
#include <map>
using namespace std;
int maxElem(int arr[], int n) {
   map<int,int> occurrence;
   for(int i=0;i<n;++i){
      if(occurrence[arr[i]])
         occurrence[arr[i]] += 1;
      else
         occurrence[arr[i]] = 1;
   }
   int ans = 0, key;
   map<int,int>:: iterator it=occurrence.begin();
   while(it!=occurrence.end()) {
      key = it->first;
      ++it;
      if(occurrence[key+1]!=0)
      ans=max(ans,occurrence[key]+occurrence[key+1]);
   }
   return ans;
}
int main(){
   int arr[] = {2, 2, 3, 4, 5};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout<<"Result is: " << maxElem(arr, n);
}

আউটপুট

Result is: 3

  1. C++ ব্যবহার করে একটি অ্যারেতে জোড়ার সংখ্যা খুঁজুন যাতে তাদের XOR 0 হয়।

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

  3. C++ ব্যবহার করে x-এর যোগফল এবং এর অঙ্কগুলো n-এর সমান হয় এমন একটি সংখ্যা খুঁজুন।

  4. x এর সমষ্টি এবং এর সংখ্যা C++ এ দেওয়া n-এর সমান