55561bc4创建于 2022年12月27日历史提交
int maxProduct(int* nums, int numsSize){
    int res = nums[0], curMin = 1, curMax = 1;
    
    for (int i = 0; i < numsSize; i++) {
        int temp = curMax * nums[i];
        curMax = max(max(nums[i] * curMax, nums[i] * curMin), nums[i]);
        curMin = min(min(temp, nums[i] * curMin), nums[i]);
        res = max(res, curMax);
    }
    return res;
}

// C doesn't have a built-in max function
int max(int a, int b) {
    return (a > b) ? a : b;
}

// C doesn't have a built-in min function
int min(int a, int b) {
    return (a < b) ? a : b;
}