Maximum product of a triplet (subsequence of size 3) in array in C++
-
10-09-2020 - |
Question
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
#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
Not affiliated with Tutorialspoint