HTMLify
maximal-rectangle.py
Views: 57 | Author: prakhardoneria
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | class Solution: def maximalRectangle(self, matrix: List[List[str]]) -> int: if not matrix or not matrix[0]: return 0 cols = len(matrix[0]) heights = [0] * (cols + 1) max_area = 0 for row in matrix: for i in range(cols): heights[i] = heights[i] + 1 if row[i] == '1' else 0 stack = [-1] for i in range(cols + 1): while heights[i] < heights[stack[-1]]: h = heights[stack.pop()] w = i - stack[-1] - 1 max_area = max(max_area, h * w) stack.append(i) return max_area |