কম্পিউটার

C++ এ একটি অ্যারের সর্বাধিক পণ্য উপসেট


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

এর জন্য আমাদেরকে ইতিবাচক এবং নেতিবাচক মান সম্বলিত একটি অ্যারে দেওয়া হবে৷ আমাদের কাজ হল অ্যারের একটি উপসেটের জন্য সর্বাধিক পণ্য খুঁজে বের করা৷

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int maxProductSubset(int a[], int n) {
   if (n == 1)
      return a[0];
      int max_neg = INT_MIN;
      int count_neg = 0, count_zero = 0;
      int prod = 1;
   for (int i = 0; i < n; i++) {
      //multiplying 0 is not useful
      if (a[i] == 0) {
         count_zero++;
         continue;
      }
      if (a[i] < 0) {
         count_neg++;
         max_neg = max(max_neg, a[i]);
      }
      prod = prod * a[i];
   }
   if (count_zero == n)
      return 0;
   if (count_neg & 1) {
      if (count_neg == 1 &&
         count_zero > 0 &&
         count_zero + count_neg == n)
         return 0;
      prod = prod / max_neg;
   }
   return prod;
}
int main() {
   int a[] = { -1, -1, -2, 4, 3 };
   int n = sizeof(a) / sizeof(a[0]);
   cout << maxProductSubset(a, n);
   return 0;
}

আউটপুট

24

  1. C++ এ একটি অ্যারেতে সমস্ত মৌলিক সংখ্যার গুণফল

  2. C++-এ একটি অ্যারেতে অ-পুনরাবৃত্ত (স্বতন্ত্র) উপাদানগুলির পণ্য

  3. C++ এ একটি পণ্য অ্যারে ধাঁধা?

  4. STL ব্যবহার করে C++ এ অ্যারে পণ্য