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;
    }
}
相关推荐
fashion 道格6 分钟前
用 C 语言破解汉诺塔难题:递归思想的实战演练
c语言·算法
李玮豪Jimmy8 分钟前
Day18:二叉树part8(669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树)
java·服务器·算法
xiaoye-duck14 分钟前
数据结构之二叉树-链式结构(下)
数据结构·算法
后端小张15 分钟前
【AI 学习】AI Agent 开发进阶:架构、规划、记忆与工具编排
java·人工智能·ai·架构·系统架构·agent·智能体
Kt&Rs16 分钟前
11.13 LeetCode 题目汇总与解题思路
数据结构·算法
西岭千秋雪_37 分钟前
Kafka客户端整合
java·spring boot·分布式·kafka·linq
努力学习的小廉41 分钟前
我爱学算法之—— 字符串
c++·算法
leonardee42 分钟前
Golang笔记——Interface类型
java·后端
我是好小孩1 小时前
【Android】RecyclerView的高度问题、VH复用概念、多子项的实现;
android·java·网络
张彦峰ZYF1 小时前
高并发优惠权益聚合接口的优雅实现(含超时控制 + 来源标识 + Fallback 降级)
java·后端·面试