给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。
示例 1:
输入:matrix = [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”,“1”,“1”],[“1”,“1”,“1”,“1”,“1”],[“1”,“0”,“0”,“1”,“0”]]
输出:6
代码
class Solution {
public int maximalRectangle(char[][] matrix) {
if(matrix.length==0) return 0;
int n=matrix.length,m=matrix[0].length;
int[][][] dp=new int[n][m][2];//dp[i][j][0]表示matrix[i][j]左边有多少个1,dp[i][j][1]表示matrix[i][j]上边有多少个1
dp[0][0][0]=matrix[0][0]=='1'?1:0;
dp[0]