day115(3.17)——leetcode面试经典150

221. 最大正方形

221. 最大正方形

题目:

题解:

java 复制代码
class Solution {
    public int maximalSquare(char[][] matrix) {
        int n = matrix.length;
        int m = matrix[0].length;
        if(matrix==null||n<1||m<1) {
            return 0;
        }
        int[][] dp = new int[n+1][m+1];
        int maxSum=0;
        for(int i=1;i<=n;i++) {
            for(int j=1;j<=m;j++) {
                if(matrix[i-1][j-1]=='1') {
                    //这个操作使得如果左边,上边,左上边全是1的时候,才会计入边长加一,
                    //否则边长依旧是最小的,这就说明该点不会参与最短边长的计算
                    dp[i][j]=Math.min(Math.min(dp[i-1][j],dp[i][j-1]), dp[i-1][j-1])+1;
                    maxSum=Math.max(maxSum, dp[i][j]);
                }
            }
        }
        return maxSum*maxSum;
    }
}
相关推荐
时间的拾荒人4 小时前
Qt 界面优化:绘图详解 —— 从基础图形到图片处理
开发语言·qt·面试
沐言人生5 小时前
又一个神级考公脑库-22,375篇真题终于按考点整理了
后端·面试
for_ever_love__6 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
救救孩子把6 小时前
Agent面试题-记忆治理-上下文-多Agent协作与工程落地
面试·agent·多agent·agent记忆·agent面试题·上下文治理
泡干脆面就番茄7 小时前
HDFS读写流程与MapReduce原理深度解析(面试高频考点)
hdfs·面试·mapreduce
bksczm7 小时前
0基础面试3
面试·职场和发展
Nil2089 小时前
leetcode 322零钱兑换
算法·leetcode·职场和发展
老王爱玩车9 小时前
动态内存管理
c语言·开发语言·学习·面试
海绵宝宝转agent9 小时前
2026-10-9 leetcode100刷题+面经整理
笔记·算法·面试
JAVA面经实录91711 小时前
Java高级后端 · 全套面试通关手册(线上故障排查)
java·jvm·面试