LeetCode|85.最大矩阵

Maximal Rectangle 问题描述 【LeetCode|85.最大矩阵】Given a 2D binary matrix filled with 0’s and 1’s, find the largest rectangle containing only 1’s and return its area.
For example, given the following matrix:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
Return 6.
参考答案

class Solution { public: int maximalRectangle(vector > &matrix) { if(matrix.empty()) return 0; const int m = matrix.size(); const int n = matrix[0].size(); int left[n], right[n], height[n]; fill_n(left,n,0); fill_n(right,n,n); fill_n(height,n,0); int maxA = 0; for(int i=0; i=0; j--) { if(matrix[i][j]=='1') right[j]=min(right[j],cur_right); else {right[j]=n; cur_right=j; } } // compute the area of rectangle (can do this from either side) for(int j=0; j

性能: LeetCode|85.最大矩阵
文章图片

    推荐阅读