int maximalRectangle2(char[][] matrix) { 2 int m = matrix.length; 3 int n = m == 0 ? 0 : matrix[0].length; 4 int height[][] = new int[m][n + 1]; 5 9 int maxArea = 0; 10 for(int i = 0; i < m; i++){ 11 for(int j = 0; j < n; j++) { 12 if(matrix[i][j] == '0'){ 13 height[i][j] = 0; 14 }
else { 15 height[i][j] = i == 0 ? 1 : height[i - 1][j] + 1; 16 } 17 }
int area = maxAreaInHist(height[i]); 21 if(area > maxArea){ 22 maxArea = area; 23 }}
25 return maxArea; 26 }
No comments:
Post a Comment