File tree Expand file tree Collapse file tree 1 file changed +5
-6
lines changed Expand file tree Collapse file tree 1 file changed +5
-6
lines changed Original file line number Diff line number Diff line change @@ -34,16 +34,15 @@ def max_product_subarray(numbers: list[int]) -> int:
34
34
if not all (isinstance (x , int ) for x in numbers ):
35
35
return 0
36
36
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 ]
40
38
41
39
for i in range (1 , len (numbers )):
42
40
# update the maximum and minimum subarray products
43
- if numbers [i ] < 0 :
41
+ number = numbers [i ]
42
+ if number < 0 :
44
43
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 )
47
46
48
47
# update the maximum product found till now
49
48
max_prod = max (max_prod , max_till_now )
You can’t perform that action at this time.
0 commit comments