Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

import java.util.

*;

public class Main

static int maxProductSubArray(int arr[]) {

int result = arr[0];

for(int i=0;i<arr.length-1;i++) {

int p = arr[i];

for(int j=i+1;j<arr.length;j++) {

result = Math.max(result,p);

p *= arr[j];

result = Math.max(result,p);

return result;

public static void main(String[] args) {

int nums[] = {1,2,-3,0,-4,-5};

int answer = maxProductSubArray(nums)i;

System.out.print("The maximum product subarray is: "+answer);

Time complexity: o(n^2)

import java.util.*;

public class Main

static int maxProductSubArray(int arr[]) {

int prod1 = arr[0],prod2 = arr[0],result = arr[0];

for(int i=1;i<arr.length;i++) {
int temp = Math.max(arr[i],Math.max(prod1*arr[i],prod2*arr[i]));

prod2 = Math.min(arr[i],Math.min(prod1*arr[i],prod2*arr[i]));

prod1 = temp;

result = Math.max(result,prod1);

return result;

public static void main(String[] args) {

int nums[] = {1,2,-3,0,-4,-5};

int answer = maxProductSubArray(nums);

System.out.print("The maximum product subarray is: "+answer);

Time complexity o(n)

You might also like