comefrom: <qiyuangong>085_Maximal_Rectangle_1.py
code: def maximalRectangle( matrix):
      if matrix is None or len(matrix) == 0:
          return 0
      ls_row, ls_col = len(matrix), len(matrix[0])
      left, right, height = [0] * ls_col, [ls_col] * ls_col, [0] * ls_col
      maxA = 0
      for i in range(ls_row):
          curr_left, curr_right = 0, ls_col
          for j in range(ls_col):
              if matrix[i][j] == '1':
                  height[j] += 1
              else:
                  height[j] = 0
          for j in range(ls_col):
              if matrix[i][j] == '1':
                  left[j] = max(left[j], curr_left)
              else:
                  left[j], curr_left = 0, j + 1
          for j in range(ls_col - 1, -1, -1):
              if matrix[i][j] == '1':
                  right[j] = min(right[j], curr_right)
              else:
                  right[j], curr_right = ls_col, j
          for j in range(ls_col):
              maxA = max(maxA, (right[j] - left[j]) * height[j])
      return maxA
masked: def sample_funcname ( var_0 ) :
      if var_0 is None or len ( var_0 ) == 0 :
          return 0
      var_1 , var_2 = len ( var_0 ) , len ( var_0 [ 0 ] )
      var_3 , var_4 , var_5 = [ 0 ] * var_2 , [ var_2 ] * var_2 , [ 0 ] * var_2
      var_6 = 0
      for var_7 in range ( var_1 ) :
          var_8 , var_9 = 0 , var_2
          for var_10 in range ( var_2 ) :
              if var_0 [ var_7 ] [ var_10 ] == '1' :
                  var_5 [ var_10 ] += 1
              else :
                  var_5 [ var_10 ] = 0
          for var_10 in range ( var_2 ) :
              if var_0 [ var_7 ] [ var_10 ] == '1' :
                  var_3 [ var_10 ] = max ( var_3 [ var_10 ] , var_8 )
              else :
                  var_3 [ var_10 ] , var_8 = 0 , var_10 + 1
          for var_10 in range ( var_2 - 1 , - 1 , - 1 ) :
              if var_0 [ var_7 ] [ var_10 ] == '1' :
                  var_4 [ var_10 ] = min ( var_4 [ var_10 ] , var_9 )
              else :
                  var_4 [ var_10 ] , var_9 = var_2 , var_10
          for var_10 in range ( var_2 ) :
              var_6 = max ( var_6 , ( var_4 [ var_10 ] - var_3 [ var_10 ] ) * var_5 [ var_10 ] )
      return var_6
  