본문 바로가기
leetcode 풀이/큐, 스택 (Array)

leetcode 152 - Maximum Product Subarray

by 튼튼한개발자 2022. 3. 28.

class Solution(object):
    def maxProduct(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """

        max_product = nums[0]
        min_product = nums[0]       
        ans = nums[0]
        
        for i in range(1, len(nums)):
            min_val = min_product*nums[i]
            max_val = max_product*nums[i]
            
            max_product = max(min_val, nums[i], max_val)
            min_product = min(min_val, nums[i], max_val) 
            ans = max(ans, max_product)
        
        return ans

댓글