Skip to content

Commit 01fb33c

Browse files
committed
Added Max product array in python
1 parent 3d0f771 commit 01fb33c

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
def max_subarray_product(arr, n):
2+
max_ending_here = 1
3+
min_ending_here = 1
4+
max_so_far = 1
5+
flag = 0
6+
for i in range(0, n):
7+
if arr[i] > 0:
8+
max_ending_here = max_ending_here * arr[i]
9+
min_ending_here = min(min_ending_here * arr[i], 1)
10+
flag = 1
11+
elif arr[i] == 0:
12+
max_ending_here = 1
13+
min_ending_here = 1
14+
else:
15+
temp = max_ending_here
16+
max_ending_here = max(min_ending_here * arr[i], 1)
17+
min_ending_here = temp * arr[i]
18+
19+
if max_so_far < max_ending_here:
20+
max_so_far = max_ending_here
21+
if flag == 0 and max_so_far == 1:
22+
return 0
23+
return max_so_far
24+
25+
26+
if __name__ == "__main__":
27+
arr = [1, -2, -3, 0, 7, -8, -2]
28+
n = len(arr)
29+
print("Maximum Sub array product is: ", end='')
30+
if n > 0:
31+
ans = max_subarray_product(arr, n)
32+
print(ans, end='')
33+
else:
34+
print(0)

0 commit comments

Comments
 (0)