코테준비 - Maximum Product Subarray

정상화·2023년 2월 26일

LeetCode

목록 보기
147/222

Maximum Product Subarray

class Solution {
public:
    int maxProduct(vector<int>& nums) {
        int firstMinAccProd = 1;
        int accProd = 1;
        int maxProd = INT32_MIN;
        for (int i = 0; i < nums.size(); i++) {
            accProd *= nums[i];
            int prod;
            if (accProd == 0) {
                firstMinAccProd = 1;
                accProd = 1;
                prod = 0;
            } else if (accProd < 0) {
                if (firstMinAccProd == 1) {
                    firstMinAccProd = accProd;
                    prod = accProd;
                } else {
                    prod = accProd / firstMinAccProd;
                }
            } else {
                prod = accProd;
            }
            maxProd = max(maxProd, prod);
        }
        return maxProd;
    }
};
profile
백엔드 희망

0개의 댓글