C++ | Leetcode C++题解之第221题最大正方形

题目:

题解:

cpp 复制代码
class Solution {
public:
    int maximalSquare(vector<vector<char>>& matrix) {
        if (matrix.size() == 0 || matrix[0].size() == 0) {
            return 0;
        }
        int maxSide = 0;
        int rows = matrix.size(), columns = matrix[0].size();
        vector<vector<int>> dp(rows, vector<int>(columns));
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                if (matrix[i][j] == '1') {
                    if (i == 0 || j == 0) {
                        dp[i][j] = 1;
                    } else {
                        dp[i][j] = min(min(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1]) + 1;
                    }
                    maxSide = max(maxSide, dp[i][j]);
                }
            }
        }
        int maxSquare = maxSide * maxSide;
        return maxSquare;
    }
};
相关推荐
ULTRA??17 分钟前
C/C++函数指针
c语言·开发语言·c++
还没想好取啥名18 分钟前
C++11新特性(一)——自动类型推导
开发语言·c++·stl
我是华为OD~HR~栗栗呀21 分钟前
华为OD-C面经-23届学院哦
java·c++·python·华为od·华为·面试
资深web全栈开发26 分钟前
LeetCode 3432. 统计元素和差值为偶数的分区方案数
算法·leetcode
西贝爱学习33 分钟前
Visual Studio下载地址,vs2022安装程序
c++
天赐学c语言35 分钟前
12.5 - 二叉树的最近公共祖先 && 构造函数和析构函数可以是虚函数吗
c++·二叉树·虚函数
闻缺陷则喜何志丹43 分钟前
【计算几何】P2785 物理1(phsic1)- 磁通量|普及+
c++·数学·计算几何
郝学胜-神的一滴1 小时前
Linux定时器编程:深入理解setitimer函数
linux·服务器·开发语言·c++·程序人生
小鱼小鱼.oO1 小时前
C++ 算法基础知识
c++·算法·哈希算法
昨天那个谁谁1 小时前
ROS2运行时报无法加载create_key等符号错误
c++·python·ros2