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;
    }
}
相关推荐
Yeats_Liao6 分钟前
Spring缓存(二):解决缓存雪崩、击穿、穿透问题
java·spring·缓存
猿究院-赵晨鹤17 分钟前
String、StringBuffer 和 StringBuilder 的区别
java·开发语言
葵野寺27 分钟前
【RelayMQ】基于 Java 实现轻量级消息队列(九)
java·开发语言·rabbitmq·java-rabbitmq
过河卒_zh156676627 分钟前
9.13AI简报丨哈佛医学院开源AI模型,Genspark推出AI浏览器
人工智能·算法·microsoft·aigc·算法备案·生成合成类算法备案
D.....l33 分钟前
冒泡排序与选择排序以及单链表与双链表
数据结构·算法·排序算法
代码不停1 小时前
MySQL联合查询
java·数据库·mysql
nightunderblackcat1 小时前
新手向:C语言、Java、Python 的选择与未来指南
java·c语言·python
纯真时光1 小时前
Maven高级
java
sinat_286945191 小时前
Case-Based Reasoning用于RAG
人工智能·算法·chatgpt