leetcode-221. 最大正方形(动态规划)「建议收藏」

leetcode-221. 最大正方形(动态规划)「建议收藏」在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。示例 1:输入:matrix = [[“1″,”0″,”1″,”0″,”0”],[“1″,”0″,”1″,”1″,”1”],[“1″,”1″,”1″,”1″,”1”],[“1″,”0″,”0″,”1″,”0”]]输出:4示例 2:输入:matrix = [[“0″,”1”],[“1″,”0”]]输出:1示例 3:输入:matrix = [[“0”]]输出:0 提示:m == ma

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

示例 1:
在这里插入图片描述

输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
输出:4

示例 2:
在这里插入图片描述

输入:matrix = [["0","1"],["1","0"]]
输出:1

示例 3:

输入:matrix = [["0"]]
输出:0
 

提示:

m == matrix.length
n == matrix[i].length
1 <= m, n <= 300
matrix[i][j] 为 ‘0’ 或 ‘1’

题解
动态规划,f[i][j]代表以i,j为下表最大能构成的正方向

class Solution { 
   
public:
    int maximalSquare(vector<vector<char>>& matrix) { 
   
        int res = 0;
        int n = matrix.size(),m = matrix[0].size();
        vector<vector<int> >f(n + 1,vector<int>(m + 1, 0));
        for(int i = 1;i <= n;i ++){ 
   
            for(int j = 1;j <= m;j ++){ 
   
                if(matrix[i - 1][j - 1] == '1')f[i][j] = min(f[i - 1][j],min(f[i][j - 1],f[i - 1][j - 1])) + 1;
                else f[i][j] = 0;
                res = max(res,f[i][j]);
            }
        }
        return res * res;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168638.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cstring头文件怎么用_C语言头文件调用

    cstring头文件怎么用_C语言头文件调用在非MFC工程中.就包含atlstr.h在MFC工程中.就包含afx.h-

    2025年11月9日
    6
  • getParameterValues和getParameter的区别

    getParameterValues和getParameter的区别request.getParameterValues(Stringname)是获得如checkbox类(名字相同,但值有多个)的数据。接收数组变量,如checkobx类型request.getParameter(Stringname)是获得相应名的数据,如果有重复的名,则返回第一个的值.接收一般变量,如text类型例:request.getParameterValues(

    2022年7月22日
    10
  • vue-router实现路由懒加载( 动态加载路由 )_前端懒加载原理

    vue-router实现路由懒加载( 动态加载路由 )_前端懒加载原理为什么需要懒加载?    像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时vue异步组件 es提案的import() webpack…

    2022年10月7日
    5
  • c#的传输组件dotnetty

    c#的传输组件dotnetty牛皮不多了,继续吹起。。。。最近一直看大家写的东西,了解的内容不少,我的牛皮也差不多吹完了。。。。最后在说说最近测试的dotnetty.去年弄下来试了,不行,最近又弄下来了看看,可以了。哇哈哈哈哈哈哈。我用过java的netty,就不多说它的使用和原理了,网上有书,有无数的博文,随便找。当然dotnetty比较少,毕竟才出来不久,而且还是.netcore的。这个是翻译的使用原理可以看…

    2025年7月4日
    3
  • Vue全家桶介绍_vue全家桶有什么好处

    Vue全家桶介绍_vue全家桶有什么好处全家桶:顾名思义。对于一个完整的中大型单页面应用项目所必须的插件和框架。一、vue-clivue-cli也叫脚手架,官方定义为Vue.js开发的标准工具!相比script标签引入1)、功能丰富对Babel、TypeScript、ESLint、PostCSS、PWA、单元测试和End-to-end测试提供开箱即用的支持。2)、易于扩展它的插件系统可以让社区根据常见需求构建和共享可复用的解决方案。3)、无需EjectVueCLI完全是可配置的,无需eject。这样你的项目就可以长

    2025年6月16日
    3
  • matlab画cdf曲线_条形图和直方图的联系

    matlab画cdf曲线_条形图和直方图的联系matlab直方图(柱状图)

    2022年8月31日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号