comefrom: <gouthampradhan>dynamic_programming_MaximumProductSubarray_1.java
code: public int maxProduct(int[] nums) {
      if (nums.length == 1) return nums[0];
      int min = nums[0];
      int max = nums[0];
      int result = max;
      for (int i = 1; i < nums.length; i++) {
        int prevMin = min, prevMax = max;
        min = Math.min(nums[i], Math.min(nums[i] * prevMin, nums[i] * prevMax));
        max = Math.max(nums[i], Math.max(nums[i] * prevMin, nums[i] * prevMax));
        result = Math.max(result, max);
      }
      return result;
    }
masked: public int sample_funcname ( int [ ] var_0 ) {
    if ( var_0 . length == 1 ) return var_0 [ 0 ] ;
    int min = var_0 [ 0 ] ;
    int max = var_0 [ 0 ] ;
    int var_1 = max ;
    for ( int var_2 = 1 ;
    var_2 < var_0 . length ;
    var_2 ++ ) {
      int var_3 = min , var_4 = max ;
      min = Math . min ( var_0 [ var_2 ] , Math . min ( var_0 [ var_2 ] * var_3 , var_0 [ var_2 ] * var_4 ) ) ;
      max = Math . max ( var_0 [ var_2 ] , Math . max ( var_0 [ var_2 ] * var_3 , var_0 [ var_2 ] * var_4 ) ) ;
      var_1 = Math . max ( var_1 , max ) ;
    }
    return var_1 ;
  }
  