Skip to content

Commit 31620b5

Browse files
author
jinbeom
committed
Maximum Product Subarray Solution
1 parent 19785ec commit 31620b5

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

maximum-product-subarray/kayden.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# 시간복잡도: O(N)
2+
# 공간복잡도: O(1)
3+
class Solution:
4+
def maxProduct(self, nums: List[int]) -> int:
5+
n = len(nums)
6+
positive, negative = 0, 0
7+
8+
if nums[0] > 0:
9+
positive = nums[0]
10+
else:
11+
negative = nums[0]
12+
13+
answer = max(nums)
14+
15+
for i in range(1, n):
16+
if nums[i] >= 0:
17+
positive *= nums[i]
18+
negative *= nums[i]
19+
20+
if positive == 0:
21+
positive = nums[i]
22+
23+
else:
24+
temp = positive
25+
positive = negative * nums[i]
26+
negative = temp * nums[i]
27+
28+
if negative == 0:
29+
negative = nums[i]
30+
31+
answer = max(answer, positive)
32+
33+
return answer

0 commit comments

Comments
 (0)