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

C++-এ সোর্টেড অ্যারেতে ২৫% এর বেশি বার বাড়ি হয় এমন উপাদান বের করা


ধরুন আমাদের একটি অ্যারে A আছে। কিছু উপাদান আছে। কিছু উপাদান কমন। আমাদের এমন একটি উপাদান রিটার্ন করতে হবে যা অ্যারেতে ২৫% এর বেশি স্পেসে বাড়ি হয়েছে। তাই যদি A = [1, 2, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7] হয়, এখানে ৪ চারবার বাড়ি হয়েছে। এটি ১২ (অ্যারের সাইজ) এর ২৫% এর বেশি।

এটি সমাধানের জন্য, আমরা নিচের ধাপগুলো অনুসরণ করব −

  • এলিমেন্টগুলো পড়ুন এবং তাদের রেসপেক্টিভ ফ্রিকোয়েন্সি সংরক্ষণ করুন
  • যদি ফ্রিকোয়েন্সি অ্যারে সাইজের ২৫% এর বেশি হয়, তবে রেজাল্ট রিটার্ন করুন।

উদাহরণ

বুঝতে নিচের ইমপ্লিমেন্টেশনটি দেখুন −

#include <bits/stdc++.h> using namespace std; class Solution {    public:       int findSpecialInteger(vector<int>& arr) {          int n = arr.size();          int req = n / 4;          unordered_map <int, int> m;          int ans = -1;          for(int i = 0; i < n; i++){             m[arr[i]]++;             if(m[arr[i]] > req)ans = arr[i];          }          return ans;       } }; main(){    Solution ob;    vector<int> c = {1,2,4,4,4,4,5,5,6,6,7,7};    cout << ob.findSpecialInteger(c); }

ইনপুট

[1,2,4,4,4,4,5,5,6,6,7,7]

আউটপুট

4

  1. সর্টেড অ্যারেতে n/2-র চেয়ে বড় বা সমান ফ্রিকোয়েন্সি সম্পন্ন উপাদান খুঁজে বের করা C++-তে

  2. C++-এ সোর্টেড অ্যারেে মেজোরিটি এলিমেন্ট আছে কিনা তা যাচাই করা

  3. অ্যারে (বিগুণ সংখ্যা) এর GCD বের করা (C++)

  4. C++-এ দুইটির অধিক সংখ্যার GCD (GCD of Array/Multiple Numbers)