LeetCode221. Maximal Square

Leetcode—221.Maximal Square 最大正方形 Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area. For example, given the following matrix: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 阅读详情
题目链接:

https://leetcode.com/problems/maximal-square/

题目描述:

给出一个M*N的矩阵, 只有’1’, ‘0’,两种元素; 需要你从中找出 由’1’组成的最大正方形。

题目分析:

嗯,还是动态规划。换个角度看,就是找边长最大的正方形。
从前往后推。正方形左上,上边,左边都已确定,正方形右下的边长由左边,上边,左上控制。
以当前点(x,y) = ‘1’ 为右下角的最大正方形的边长dp(x,y) = min( dp(x-1,y), dp(x,y-1), dp(x-1,y-1)) + 1。如果(x,y)=’0’,就像之前的找独一无二路径的那道题,遇到障碍所有经过该点的路都不通了dp(x,y)=0。

代码:
class Solution {
public:
    int maximalSquare(vector<vector<char>>& matrix) {
        int m=matrix.size();
        if(m==0){
            return 0;
        }
        int n=matrix[0].size();
        vector<vector<int>> dp(m,vector<int> (n,0));
        int maxEdge=0;
        for(int i=0;i<m;i++){
            dp[i][0]=matrix[i][0]-48;
            if(dp[i][0]==1){
                maxEdge=1;
            }
        }
        for(int i=0;i<n;i++){
            dp[0][i]=matrix[0][i]-48;
             if(dp[0][i]==1){
                maxEdge=1;
            }
        }
        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                if(matrix[i][j]=='1'){
                    dp[i][j]=min(min(dp[i-1][j],dp[i][j-1]),dp[i-1][j-1])+1;
                    if(maxEdge<dp[i][j]){
                        maxEdge=dp[i][j];
                    }
                }
            }
        }
        return maxEdge*maxEdge;
    }
};

整理后:

class Solution {
public:
    int maximalSquare(vector<vector<char>>& matrix) {
        int m=matrix.size();
        if(m==0){
            return 0;
        }
        int n=matrix[0].size();
        vector<vector<int>> dp(m+1,vector<int> (n+1,0));
        int maxEdge=0;
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(matrix[i][j]=='1'){
                    dp[i+1][j+1]=min(min(dp[i][j+1],dp[i+1][j]),dp[i][j])+1;
                    if(maxEdge<dp[i+1][j+1]){
                        maxEdge=dp[i+1][j+1];
                    }
                }
            }
        }
        return maxEdge*maxEdge;
    }
};
论文理解【LLM-OR】——【Step-Opt】Training LLMs for Optimization Modeling via Iterative Data Synthesis and 本文提出 Step-Opt-Instruct 方法,针对用 LLM 做 OR 问题求解任务,用迭代问题生成 + 分步验证机制实习更可靠的训练数据合成,从而微调开源 LLM 得到 Step-Opt。在多个 OR 建模基准提升性能,尤其在复杂问题上提升更明显 阅读详情

相关推荐

Unity调用手机摄像头避坑指南:从权限检测到自动对焦问题解决

本文深入解析了Unity移动端集成手机摄像头时遇到的权限、对焦与性能等核心难题。针对权限管理,提供了健壮的原生接口调用方案;针对自动对焦模糊问题,详细对比了原生插件与第三方插件两种解决路径;并分享了分辨率选择、数据处理及功耗控制等关键性能优化技巧,帮助开发者构建稳定高效的摄像头功能。

weixin_29007243的博客 470

和我一起刷leetcode-221-Maximal-Square

和我一起刷leetcode-221. Maximal Square 大家好,今天我们一起做Leetcode第221题 ,这是一道难度为Medium的题目。也是一道经典的动态规划练习题 题目描述 Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's and retur...

老方刷题 266

Qt 5.12.8在Linux下编译qtvirtualkeyboard模块,我踩过的那些坑(附完整解决方案)

本文详细介绍了在Linux系统下为Qt 5.12.8单独编译qtvirtualkeyboard模块的完整解决方案。通过分析模块缺失原因、提供精准的编译步骤和常见问题处理,帮助开发者高效解决虚拟键盘模块缺失问题,避免重新编译整个Qt源码的繁琐过程。

weixin_29248611的博客 458

leetcode 221: Maximal Square

leetcode 221: Maximal Square c++ python java

西施豆腐渣 1万+

python代码爬取大众点评评论!直接copy就可以运行!

python代码爬取大众点评评论!直接copy就可以运行!

QiuQiRuQin的博客 1万+

在matlab中运行自带的模块(以CCSDS LDPC Decoder模块为例)

最新版的获取需要注册 MathWorks 账户 访问账户注册页面:www.mathworks.cn/mwaccount/register。下载新版本或历史版本的MATLAB,请登陆:https://www.mathworks.cn/downloads 并下载。点击此处可以拷贝调用例程的命令,在matlab命令行输入即可自动获取代码。可以看到页面中写了该模块需要在R2022b以上版本使用。运行.m文件可以生成simulink运行所需要的数据。可以看到左侧下载到了官方历程的文件。之后双击slx文件即可打开。

qq_28455081的博客 885

LeetCode 221. Maximal Square 题解

本题是动态规划在二维矩阵中的应用。状态定义:以 (i,j) 为右下角的最大正方形边长状态转移:考虑左、上、左上三个方向空间优化:使用一维数组通过本题可以深入理解二维动态规划问题。

cannonjinx的博客 4109

STM32H743 ADC多通道采样实战:CubeMX配置+DMA传输避坑指南

本文详细介绍了STM32H743 ADC多通道采样的实战配置,包括CubeMX参数设置、DMA传输优化及常见问题解决方案。重点解析了ADC模块的核心特性、多通道采样序列配置、Cache一致性处理等关键技术,帮助开发者高效实现稳定可靠的模拟信号采集系统。

weixin_29175469的博客 611

Leetcode 221. Maximal Square

题目描述:找出题目中最大的1正方形。 题目链接:Leetcode 221. Maximal Square 思路:当我们判断以某个点为正方形右下角时最大的正方形时,那它的上方,左方和左上方三个点也一定是某个正方形的右下角,否则该点为右下角的正方形最大就是它自己了。这是定性的判断,那具体的最大正方形边长呢?我们知道,该点为右下角的正方形的最大边长,最多比它的上方,左方和左上方为右下角的正方形...

Za七杂⑧ 169

基于 AUTOSAR 的域控产品软件开发进阶探索

本文深入探讨了AUTOSAR架构在汽车域控产品开发中的进阶应用。首先从系统设计角度分析了AUTOSAR分层架构原理及其在域控产品中的优化部署策略;其次详细介绍了Davinci和EBTresos等主流工具链的特点与协同使用方法;然后重点阐述了ASPICE流程与功能安全/信息安全标准的实施要点;最后分享了多核车载芯片(如NXP S32G)的适配经验与优化实践。通过架构设计、工具运用、标准遵循和芯片适配四个维度的专业解析,为域控产品的AUTOSAR开发提供了系统性指导。

SiArch的博客 1199

超速U盘选购避坑指南:如何通过Rx Detect机制识别真伪USB3.0设备

本文深入解析了USB 3.0超速U盘的选购避坑要点,重点介绍了通过Rx Detect机制识别真伪设备的核心原理。文章提供了从软件检测到实际性能测试的完整方案,帮助消费者和技术人员有效辨别虚假的USB3.0设备,确保获得真正的超速传输体验。

weixin_29189373的博客 443

[leetcode 221]Maximal Square

Maximal Square Total Accepted: 8699 Total Submissions: 44034 Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area. For example,

ER_Plough的专栏 660

【agent实战教程】OpenClaw多个agent一文通

一个合格的独立agent,必须具备6个完全独立的专属组件独立组件路径规则核心要求不独立的严重后果唯一agentId配置文件中全局唯一,不能重复,建议用英文+数字,不要有特殊字符agent配置冲突,消息派单错误,会话串线独立工作区(workspace)建议每个agent一个独立文件夹,不要共用人设、记忆、规则混在一起,agent人设崩塌,对话串线独立状态目录(agentDir)固定系统自动生成,绝对禁止多个agent复用同一个agentDir。

海兰 649

leetcode 221. Maximal Square

Given a 2D binary matrix filled with 0’s and 1’s, find the largest square containing only 1’s and return its area. Example: 给出一个由0,1构成的二维数组,让找出里面最大的正方形的面积 思路: 因为是正方形,长和宽是一样的,较短的一方决定了正方形的边长 假如给一个input...

蓝羽飞鸟的博客 201

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Leetcode221. Maximal Square

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。

magic_jiayu的博客 256

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

LeetCode 221. Maximal Square

题目链接:最大正方形 - 力扣 (LeetCode) Given a 2D binary matrix filled with 0’s and 1’s, find the largest square containing only 1’s and return its area. Example: Input: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 ...

zhaohaibo的博客 382

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

[LeetCode] 221. Maximal Square

Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's and return its area.Example:Input: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 Output: 4这题其实很明显是一道dp题来的。我猜当...

chaochen1407的专栏 203

[LeetCode 221] Maximal Square

Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area. For example, given the following matrix: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 R

coder 进阶的专栏 1464

LeetCode //C - 221. Maximal Square

【代码】LeetCode //C - 221. Maximal Square。

Made in Code 1232

leetcode221——Maximal Square

题目大意:在一个由0和1组成的二维矩阵内,找到只包含1的最大正方形,并返回其面积。 分析:动态规划。 dp[i][j]——以matrix[i - 1][j - 1]为正方形右下角时的最大正方形边长 初始化:dp[i][j] = 0 状态转换方程:如果matrix[i - 1][j - 1] == ‘1’,更新dp[i][j] =min(dp[i - 1][j - 1],min(dp[i]...

tzyshiwolaogongya的博客 205

[LeetCode]221. Maximal Square

[LeetCode]221. Maximal Square题目描述思路一种思路是直方图做法,可以解扩展到矩形的情况,见另一篇博客 [LeetCode]85. Maximal Rectangle另外的思路是动态规划解法给出的样例输入为 matrix 0 1 2 3 4 0 1 0 1 0 0 1 1 0 1 1 1 2

Lcharon的博客 391

LeetCode 221 Maximal Square

思路 dp解法。dp[i][j]表示以(i, j)为右下角的正方形的最大边长; 状态转移方程:dp[i][j] = min(dp[i-1][j-1], dp[i][j-1], dp[i-1][j]) + 1; 初始状态:i == 0 || j == 0, dp[i][j] = matrix[i][j]. 复杂度 时间复杂度O(n*m) = O(n^2) 空间复杂度O(n*m) = O(n^2) 代...

我要上岸的博客 173

LeetCode221:Maximal Square

Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and return its area. For example, given the following matrix: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0

3667

LeetCode(221) Maximal Square

题目:Given a 2D binary matrix filled with 0’s and 1’s, find the largest square containing all 1’s and return its area.For example, given the following matrix:1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0Ret

一只不断成长的藏獒 1357
上一篇: LeetCode152. Maximum Product Subarray
下一篇: LeetCode274. H-Index
_IanXiao
博客等级 码龄12年 84粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值