কম্পিউটার

C++ এ একটি অ্যারের দুটি উপসেটের সর্বোচ্চ সম্ভাব্য পার্থক্য


এই টিউটোরিয়ালে, আমরা একটি অ্যারের দুটি উপসেটের সর্বাধিক সম্ভাব্য পার্থক্য খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব

এর জন্য আমাদেরকে কয়েকটি এলোমেলো পূর্ণসংখ্যার এক বা দুটি উদাহরণ সম্বলিত একটি অ্যারে সরবরাহ করা হবে। আমাদের কাজ হল সেই অ্যারের দুটি উপসেট তৈরি করা যাতে তাদের যোগফলের পার্থক্য সর্বাধিক হয় এবং কোনো উপসেটে পুনরাবৃত্তিমূলক সংখ্যা থাকে না।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//finding maximum subset difference
int maxDiff(int arr[], int n) {
   int SubsetSum_1 = 0, SubsetSum_2 = 0;
   for (int i = 0; i <= n - 1; i++) {
      bool isSingleOccurance = true;
      for (int j = i + 1; j <= n - 1; j++) {
         if (arr[i] == arr[j]) {
            isSingleOccurance = false;
            arr[i] = arr[j] = 0;
            break;
         }
      }
      if (isSingleOccurance) {
         if (arr[i] > 0)
            SubsetSum_1 += arr[i];
         else
            SubsetSum_2 += arr[i];
      }
   }
   return abs(SubsetSum_1 - SubsetSum_2);
}
int main() {
   int arr[] = { 4, 2, -3, 3, -2, -2, 8 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout << "Maximum Difference = " << maxDiff(arr, n);
   return 0;
}

আউটপুট

Maximum Difference = 20

  1. C++ এ অ্যারে থেকে সর্বাধিক পরিধি ত্রিভুজ

  2. C++ এ একটি অ্যারেতে সর্বোচ্চ ভারসাম্যের যোগফল

  3. দুটি প্রদত্ত অ্যারে থেকে সর্বাধিক বিন্যাস C++ এ একই ক্রম বজায় রেখে

  4. একটি C++ ফাংশনে দ্বিমাত্রিক অ্যারে পাস করা