最大矩形
最大矩形 题目描述 给定一个仅包含 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 解释:最大矩形如上图所示。 示例 2: 输入:matrix = [] 输出:0 示例 3: 输入:matrix = [[“0”]] 输出:0 示例 4: 输入:matrix = [[“1”]] 输出:1 示例 5: 输入:matrix = [[“0”,“0”]] 输出:0 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximal-rectangle 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 思路 对于每个单元格,维护从上往下的连续的1的个数 遍历所有单元格,对于每个单元格,计算从左往右的连续的1的个数作为长,再从下往上遍历该列,以列的步数作为宽,维护长取最小值,求面积维护答案 code func maximalRectangle(matrix [][]byte) int { for i := 0; i < len(matrix); i++ { for j := 0; j < len(matrix[i]); j++ { matrix[i][j] = matrix[i][j] - 48 } } // 维护行上的连续1的个数 for i := 0; i < len(matrix); i++ { for j := 1; j < len(matrix[i]); j++ { if matrix[i][j] !...