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;
    }
}
相关推荐
测试19985 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
Mahir087 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
绝知此事9 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
csdn_aspnet10 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
一只机电自动化菜鸟11 小时前
一建机电备考笔记(40) 建筑机电施工—排水管道施工(含考频+题型)
经验分享·笔记·学习·职场和发展·课程设计
kyriewen12 小时前
面试官让我查各部门工资最高的员工,我用AI三秒写出窗口函数,他愣了
后端·mysql·面试
罗超驿12 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
做人求其滴13 小时前
面试经典 150 题 380 274
c++·算法·面试·职场和发展·力扣
小江的记录本13 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
小卡不对头13 小时前
软考中级通过率怎样?软考中级哪个通过率高
职场和发展·产品经理