- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Java Program for Minimum product subset of an array

Array is a linear data structure that is used to store a group of elements with similar datatypes. It stores data in a sequential manner. Once we create an array we can’t change its size i.e. it is of fixed length.

The problem statement states that for a given array we have to find the minimum product of its subset. In this article, we will try to find the solution to the given problem.

## Program for minimum product of subsets

### Example 1

Let’s try to understand the problem and possible solution through an example.

For the above array a few possible subsets could be −

5 | 5, 6 | 5, 6, 7 | 5, 6, 7, 8 | 5, 6, 7, 8, 9 | 6 | 6, 7, 8 | 9, 10, 11 | 8, 9 and so on.

Now, we will compute their products and return the minimum of them. Here, 5 is the minimum.

### Syntax for Array

Data_Type[] nameOfarray; // declaration Or, Data_Type nameOfarray[]; // declaration Or, // declaration with size Data_Type nameOfarray[] = new Data_Type[ sizeofarray ]; // declaration and initialization Data_Type nameOfarray[] = { values separated with comma };

We can use any of the above syntaxes in our program.

### Algorithm

**Step 1**− We begin by importing the ‘java.lang.Math’ package so that we can use method ‘min()’ of the class ‘Math’ to check the minimum value among two given arguments.**Step 2**− Now, create a class ‘Subset’ and inside it defines a method named ‘minProduct()’ along with an array as a parameter.**Step 3**− Inside the method ‘minProduct()’, declare and initialize an integer variable named ‘res’ to store the sum of product of subsets. Moving further, take a for loop that will run till the length of the array.**Step 4**− We will declare and initialize another integer variable named ‘prod’ to store the product of subsets during each iteration.**Step 5**−Now, define another for loop inside the first one that will run from ‘i + 1’ to length of array. During each iteration, it will check the minimum among sum of product and product of subsets.**Step 6**− At the end, in the main() method, we will declare and initialize two arrays of type integer to find their minimum product of subsets. Moving ahead create an object named ‘obj’ of class ‘Subset’ and use this object to call the method ‘minProduct()’ with argument.

### Example

import java.lang.Math; class Subset { // method that will calculate the minimum product void minProduct(int aray[]) { int res = aray[0]; // to store sum of product for (int i = 0; i < aray.length; i++) { int prod = aray[i]; for (int j = i + 1; j < aray.length; j++) { res = Math.min(res, prod); prod = prod * aray[j]; // calculating product } res = Math.min(res, prod); // checking minimum } System.out.println("Minimum product of Sub array is: " + res); } } public class Minsub { public static void main(String[] args) { int aray1[] = { 4, -6, 3, 6}; int aray2[] = { 3, 5, 9, 7, 12, 30 }; Subset obj = new Subset(); // object creation // calling the method using object obj.minProduct(aray1); obj.minProduct(aray2); } }

### Output

Minimum product of Sub array is: -432 Minimum product of Sub array is: 3

## Conclusion

We have discussed the solution for how we can find the minimum product of subsets of a given array. Also, we discovered the syntax to declare and initialize an array. We have used a static method ‘min()’ that checks minimum of two specified values. Remember one thing about static methods they can be called without creating any object, we just use the class name with the dot operator (.).