题目链接:最大正方形
题目描述:
在一个由 '0'
和 '1'
组成的二维矩阵内,找到只包含 '1'
的最大正方形,并返回其面积。
方法一:暴力解法
求只包含1的面积最大的正方形。
1)对矩阵的每一个点进行遍历,值为“1”的单元格可能是正方形的左上角。
2)对值为“1”的单元格周围一圈进行判断,即在保证构成的图形是正方形的前提下,判断右侧新增的一列和下放新增的一行是否全都为"1",如果是,那么就再往外扩张一圈;否则,扩张结束。得到以当前单元格为左上角的最大的正方形面积。
时间复杂度为O(m n min(m,n)^2),空间复杂度为O(1)。
太耗时了。
js代码如下:
// O(mn * min(m,n)^2) O(1)
// 暴力解法,判断新增的最右列和最下行是否全为1
var maximalSquare = function (matrix) {
const h = matrix.length;
const w = matrix[0].lengt