Maximum product of a triplet (subsequence of size 3) in array in C++

C++Server Side ProgrammingProgramming

In this tutorial, we will be discussing a program to find maximum product of a triplet (subsequence of size 3) in array.

For this we will be provided with an array of integers. Our task is to find the triplet of elements in that array with the maximum product

Example

 Live Demo

#include <bits/stdc++.h>
using namespace std;
//finding the maximum product
int maxProduct(int arr[], int n){
   if (n < 3)
      return -1;
   int max_product = INT_MIN;
   for (int i = 0; i < n - 2; i++)
      for (int j = i + 1; j < n - 1; j++)
         for (int k = j + 1; k < n; k++)
            max_product = max(max_product, arr[i] * arr[j] * arr[k]);
         return max_product;
}
int main() {
   int arr[] = { 10, 3, 5, 6, 20 };
   int n = sizeof(arr) / sizeof(arr[0]);
   int max = maxProduct(arr, n);
   if (max == -1)
      cout << "No Triplet Exists";
   else
      cout << "Maximum product is " << max;
   return 0;
}

Output

Maximum product is 1200
raja
Published on 09-Sep-2020 12:57:09
Advertisements