# Java Program for Minimum product pair an array of positive Integers

• Last Updated : 13 Jan, 2022

Given an array of positive integers. We are required to write a program to print the minimum product of any two numbers of the given array.
Examples:

```Input : 11 8 5 7 5 100
Output : 25
Explanation : The minimum product of any
two numbers will be 5 * 5 = 25.

Input : 198 76 544 123 154 675
Output : 7448
Explanation : The minimum product of any
two numbers will be 76 * 123 = 7448.```

Simple Approach : A simple approach will be to run two nested loops to generate all possible pair of elements and keep track of the minimum product.
Time Complexity: O( n * n)
Auxiliary Space: O( 1 )
Better Approach: An efficient approach will be to first sort the given array and print the product of first two numbers, sorting will take O(n log n). Answer will be then a * a
Time Complexity: O( n * log(n))
Auxiliary Space: O( 1 )
Best Approach: The idea is linearly traverse given array and keep track of minimum two elements. Finally return product of two minimum elements.
Below is the implementation of above approach.

## Java

 `// Java program to calculate minimum ` `// product of a pair ` `import` `java.util.*; ` ` `  `class` `GFG { ` `     `  `    ``// Function to calculate minimum product ` `    ``// of pair ` `    ``static` `int` `printMinimumProduct(``int` `arr[], ``int` `n) ` `    ``{ ` `        ``// Initialize first and second ` `        ``// minimums. It is assumed that the ` `        ``// array has at least two elements. ` `        ``int` `first_min = Math.min(arr[``0``], arr[``1``]); ` `        ``int` `second_min = Math.max(arr[``0``], arr[``1``]); ` `      `  `        ``// Traverse remaining array and keep ` `        ``// track of two minimum elements (Note ` `        ``// that the two minimum elements may ` `        ``// be same if minimum element appears ` `        ``// more than once) ` `        ``// more than once) ` `        ``for` `(``int` `i = ``2``; i < n; i++) ` `        ``{ ` `           ``if` `(arr[i] < first_min) ` `           ``{ ` `              ``second_min = first_min; ` `              ``first_min = arr[i]; ` `           ``} ` `           ``else` `if` `(arr[i] < second_min) ` `              ``second_min = arr[i]; ` `        ``} ` `      `  `        ``return` `first_min * second_min; ` `    ``} ` `     `  `    ``/* Driver program to test above function */` `    ``public` `static` `void` `main(String[] args)  ` `    ``{ ` `        ``int` `a[] = { ``11``, ``8` `, ``5` `, ``7` `, ``5` `, ``100` `}; ` `        ``int` `n = a.length; ` `        ``System.out.print(printMinimumProduct(a,n)); ` `      `  `    ``} ` `} ` ` `  `// This code is contributed by Arnav Kr. Mandal. `

Output:

`25`

Time Complexity: O(n)
Auxiliary Space: O(1)
Please refer complete article on Minimum product pair an array of positive Integers for more details!

My Personal Notes arrow_drop_up
Recommended Articles
Page :