কম্পিউটার

C++ এ সর্বাধিক সংখ্যক বার হওয়া সমস্ত যোগফল প্রিন্ট করুন


এই সমস্যায়, আমাদের n অনন্য পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে। এবং আমাদের অ্যারের দুটি পূর্ণসংখ্যার যোগফল খুঁজে বের করতে হবে যার সর্বাধিক ফ্রিকোয়েন্সি রয়েছে। সমস্যাটির একাধিক সমাধান রয়েছে এবং আপনাকে সেগুলি খুঁজে বের করতে হবে৷

Input : array = { 1, 12, 5, 7, 9, 11}
Output : 16 12

ব্যাখ্যা − যোগফল 16 এবং 12 দুইবার হয়।

5 + 11 = 16 & 7 + 9 = 16
1 + 11 = 12 & 5 + 7 = 12

এখন এই সমস্যাটি সমাধান করার জন্য, সমস্যাটির প্রতি আমাদের দৃষ্টিভঙ্গি হল প্রতিটি যোগফলের ঘটনাটি পরীক্ষা করা এবং তারপর সর্বাধিক সংখ্যায় জোড়াটি প্রিন্ট করা৷

সমস্যা সমাধানের পদক্ষেপগুলি৷ −

Step 1: Iterate over all pairs.
Step 2: The occurrence of sum pairs is counted using hash-table.
Step 3: After the interation process is done, the sum pair with maximum occurrence is printed.

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void sumPairs(int a[], int n){
   unordered_map<int, int> pairSum;
   for (int i = 0; i < n - 1; i++) {
      for (int j = i + 1; j < n; j++) {
         pairSum[a[i] + a[j]]++;
      }
   }
   int occur = 0;
   for (auto it : pairSum) {
      if (it.second > occur) {
         occur = it.second;
      }
   }
   for (auto it : pairSum) {
      if (it.second == occur)
         cout << it.first <<"\t";
   }
}
int main(){
   int a[] = { 1, 12, 5, 7, 9, 11 };
   int n = sizeof(a) / sizeof(a[0]);
   cout<<"The sum pairs with max ccurence are : "<<endl;
   sumPairs(a, n);
   return 0;
}

আউটপুট

সর্বোচ্চ সংঘটন সহ যোগফল হল −

16 12

  1. C++ এ একটি অনির্দেশিত গ্রাফে সমস্ত চক্র প্রিন্ট করুন

  2. C++-এ ইনপুট স্ট্রিং-এর সমস্ত ডুপ্লিকেট প্রিন্ট করুন

  3. C++ তে বিজোড় এবং জোড় সংখ্যার নোড সহ সমস্ত স্তর প্রিন্ট করুন

  4. C++ এ d সংখ্যা আছে এমন সংখ্যাটি খুঁজুন