<qiyuangong>152_Maximum_Product_Subarray_1.py
def maxProduct( nums):
    if nums is None or len(nums) == 0:
        return 0
    max_here = min_here = max_so_far = nums[0]
    for i in range(1, len(nums)):
        mx, mn = max_here, min_here
        max_here = max(max(mx * nums[i], nums[i]), mn * nums[i])
        min_here = min(min(mx * nums[i], nums[i]), mn * nums[i])
        max_so_far = max(max_here, max_so_far)
    return max_so_far
def sample_funcname ( var_0 ) :
    if var_0 is None or len ( var_0 ) == 0 :
        return 0
    var_6 = var_4 = var_5 = var_0 [ 0 ]
    for var_9 in range ( 1 , len ( var_0 ) ) :
        var_10 , var_11 = var_6 , var_4
        var_6 = max ( max ( var_10 * var_0 [ var_9 ] , var_0 [ var_9 ] ) , var_11 * var_0 [ var_9 ] )
        var_4 = min ( min ( var_10 * var_0 [ var_9 ] , var_0 [ var_9 ] ) , var_11 * var_0 [ var_9 ] )
        var_5 = max ( var_6 , var_5 )
    return var_5
