leetcode221.最大正方形

java 复制代码
class Solution {
    public int maximalSquare(char[][] matrix) {
        int result = 0; // 记录正方形边长
        int m = matrix.length, n = matrix[0].length;
        int[][] dp = new int[m + 1][n + 1];
        // 动态规划
        for (int i = 1; i <= m; i++) {
            for (int j = 1; j <= n; j++) {
                if (matrix[i - 1][j - 1] == '0') {
                    dp[i][j] = 0;
                } else {
                    dp[i][j] = 1 + Math.min(Math.min(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1]);
                    result = Math.max(result, dp[i][j]);
                }
            }
        }
        return result * result;
    }
}
相关推荐
longlongzihan11 小时前
LeetCode 1004.最大连续1的个数III 滑动窗口及动态规划题解
c++·算法·leetcode·dp·滑动窗口
开开心心就好11 小时前
图片白底怎么去掉?抠图工具抠完背景透明
java·服务器·开发语言·pdf·ocr·散列表·启发式算法
朝朝辞暮i11 小时前
C++ 第 22 课:const —— 不允许随便修改的数据
开发语言·c++·算法
东方芷兰11 小时前
Agent 技术摘要 05 —— BP、SaaS、B2B、C2B、B2C
java·笔记·python·语言模型·自然语言处理
Chen—LSN11 小时前
数据结构——拿捏复杂度
java·c语言·开发语言·数据结构·经验分享·笔记·算法
一条破秋裤11 小时前
Linux 线程同步:条件变量
java·linux·jvm
Chen_harmony12 小时前
六、排序详解
c语言·数据结构·算法·排序算法
步行cgn12 小时前
Spring AOP 切面的先后顺序详解
java·spring
-dzk-12 小时前
【贪心算法】LC 55.跳跃游戏
算法·游戏·贪心算法
ofoxcoding12 小时前
Jev 模型评测深度解析:核心得分、能力局限与最佳适用任务场景
人工智能·算法·机器学习·ai