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;
    }
}
相关推荐
触底反弹1 天前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen1 天前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
wdfk_prog1 天前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
LayZhangStrive1 天前
JUC相关的函数、注解、变量杂记
java·面试·多线程·juc
程序员清风1 天前
OpenAI官方发布最新提示词技巧!
java·后端·面试
GitLqr1 天前
别再盲目复制了:彻底搞懂 CORS 的本质与那些“神坑”
安全·http·面试
黄敬峰1 天前
从零搭建 DeepSeek-R1 WebGPU 聊天应用(一):进度条组件与 React 核心概念
面试
ShineWinsu1 天前
对于Linux:模版方法类的解析以及socket、TcpSocket的封装
linux·c++·面试·socket·模板方法模式·封装·tcpsocket
不简说1 天前
JS 代码技巧 vol.8 — 20 个函数式编程实战,把 if/else 拍扁的骚操作
前端·javascript·面试
我叫黑大帅1 天前
我为什么单一消费者的场景下,要用 Redis List 当消息队列?
redis·后端·面试