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;
    }
}
相关推荐
格林威1 分钟前
Baumer相机金属弹簧圈数自动计数:用于来料快速检验的 6 个核心算法,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·视觉检测·堡盟相机
笨蛋不要掉眼泪7 分钟前
Spring Boot + RedisTemplate 数据结构的基础操作
java·数据结构·spring boot·redis·wpf
一起努力啊~9 分钟前
算法刷题--栈和队列
开发语言·算法
打工的小王11 分钟前
java并发编程(六)CountDownLatch和回环屏障CyclicBarrier
java·开发语言
VT.馒头11 分钟前
【力扣】2694. 事件发射器
前端·javascript·算法·leetcode·职场和发展·typescript
星火开发设计14 分钟前
命名空间 namespace:解决命名冲突的利器
c语言·开发语言·c++·学习·算法·知识
知无不研19 分钟前
选择排序算法
数据结构·算法·排序算法·选择排序
好学且牛逼的马20 分钟前
【Hot100|21-LeetCode 160. 相交链表】
算法·leetcode
爱学习的阿磊20 分钟前
C++中的策略模式应用
开发语言·c++·算法