请现场手写实现求解最大正方形的算法,原题来源 LeetCode 221。给定一个由 '0' 和 '1' 组成的二维矩阵,找出其中只包含 '1' 的最大正方形,并返回其面积。
考察说明
考察动态规划求解二维矩阵最大正方形问题的编码实现与复杂度分析
回答思路
- 明确状态定义:dp[i][j] 表示以 (i,j) 为右下角的最大正方形边长
- 正确推导状态转移方程:dp[i][j] = min(上、左、左上) + 1,注意边界处理
- 正确处理输入为空或空行的情况
- 输出面积为最大边长的平方,而非边长
- 能给出时间 O(mn) 和空间 O(mn)(可优化为 O(n))的复杂度说明
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。