Skip to content

Commit b841831

Browse files
authored
Update max_product_subarray.py
1 parent 0d4a9aa commit b841831

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

dynamic_programming/max_product_subarray.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,15 @@ def max_product_subarray(numbers: list[int]) -> int:
3434
if not all(isinstance(x, int) for x in numbers):
3535
return 0
3636

37-
max_till_now = numbers[0]
38-
min_till_now = numbers[0]
39-
max_prod = numbers[0]
37+
max_till_now = min_till_now = max_prod = numbers[0]
4038

4139
for i in range(1, len(numbers)):
4240
# update the maximum and minimum subarray products
43-
if numbers[i] < 0:
41+
number = numbers[i]
42+
if number < 0:
4443
max_till_now, min_till_now = min_till_now, max_till_now
45-
max_till_now = max(numbers[i], max_till_now * numbers[i])
46-
min_till_now = min(numbers[i], min_till_now * numbers[i])
44+
max_till_now = max(number, max_till_now * number])
45+
min_till_now = min(number, min_till_now * number)
4746

4847
# update the maximum product found till now
4948
max_prod = max(max_prod, max_till_now)

0 commit comments

Comments
 (0)