leetcode85 85. Maximal Rectangle

xiaoxiao2021-02-28  124

class Solution(object):     def maximalRectangle(self, matrix):         """         :type matrix: List[List[str]]         :rtype: int         """         if not matrix or not matrix[0]:             return 0         n = len(matrix[0])         height = [0] * (n + 1)         ans = 0         for row in matrix:             for i in xrange(n):                 height[i] = height[i] + 1 if row[i] == '1' else 0             stack = [-1]             for i in xrange(n + 1):                 while height[i] < height[stack[-1]]:                     h = height[stack.pop()]                     w = i - 1 - stack[-1]                     ans = max(ans, h * w)                 stack.append(i)

        return ans

https://leetcode.com/problems/maximal-rectangle/#/solutions

转载请注明原文地址: https://www.6miu.com/read-40207.html

最新回复(0)