2021-06-26:给定一个只有0和1组成的二维数组,返回边框全是1的最大正方形面积。
福大大 答案2021-06-26:
1.自然智慧。遍历每个点,复杂度是O(N2)。...每个点往右下看的从1到n正方形,复杂度是O(N),每个正方形,判断边框是否为1,复杂度是O(N)。所以总体时间复杂度是O(N4),额外空间复杂度是O(1)。
2.每个正方形的边框是否为1的优化。...一个二维数组,记录dpToRighti,表示当前点往右看的1的个数。另一个二维数组,记录dpToDowni,表示当前点往下看的1的个数。...将近一天的研究,以为时间复杂度可以优化成O(N2),但实际上并不能,至少我目前没想出来。时间复杂度是O(N3),额外空间复杂度是O(N**2)。
代码用golang编写。...1, 1, 1},
{1, 0, 1, 0, 0, 1, 1, 1},
{0, 1, 1, 1, 1, 0, 1, 1},
}
largest1BorderedSquare1