当前位置: 首页 > news >正文

最大正方形(前缀和)

在这里插入图片描述

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
唯有主动付出,才有丰富的果实获得收获!

在这里插入图片描述

题目描述

在一个 n × m n\times m n×m 的只包含 0 0 0 1 1 1 的矩阵里找出一个不包含 0 0 0 的最大正方形,输出边长。

输入格式

输入文件第一行为两个整数 n , m ( 1 ≤ n , m ≤ 100 ) n,m(1\leq n,m\leq 100) n,m(1n,m100),接下来 n n n 行,每行 m m m 个数字,用空格隔开, 0 0 0 1 1 1

输出格式

一个整数,最大正方形的边长。

输入输出样例 #1

输入 #1

4 4
0 1 1 1
1 1 1 0
0 1 1 0
1 1 0 1

输出 #1

2

题外话

考场上不要盲目地追求正解!先全部写完暴力(可以和正解对拍),再慢慢研究正解。不能在一题上耗费过多时间,其实有时候你辛辛苦苦写了个正解,某个地方写挂了,那还不如人家乱打的暴力.
之后会出一篇对拍程序的博客

思路

枚举每一个点作为所选正方形的左上角的点,然后枚举正方形边长,逐一判断。

优化

边长倒着枚举,min(n,m)作为上界(因为正方形边长最大就是min(n,m)),枚举到当前的最大边长(不是最优解即使符合条件也是无济于事)。
逐一进行判断,一旦找到0立刻将双重循环break。
假如可行(即这个边长的正方形符合条件)则:

  1. 直接将最优解替换(由于下界为当前最大边长)

相关文章:

  • seq2seq
  • USB转串口数据抓包--Bus hound
  • 人工智能之数学基础:初等反射阵
  • C# Winform 入门(1)之跨线程调用,程序说话
  • 敏捷开发10:精益软件开发和看板kanban开发方法的区别是什么
  • Windows 下的多功能汉字笔顺学习与字帖生成软件
  • 三维重构 优质视频
  • 【TS学习】(15)分布式条件特性
  • RoboOS与RoboBrain:引领具身智能新时代的跨本体协作框架
  • SpringCloud概述
  • JMeter脚本录制(火狐)
  • 【多线程】线程池
  • 【开发问题记录】Docker Hub 执行 docker pull命令,拉取镜像失败/sudo docker run hello-world报错
  • 爬虫获取1688关键字搜索接口的实战指南
  • PyTorch量化进阶教程:第二章 Transformer 理论详解
  • [GESP202503 C++六级题解]:P11962:树上漫步
  • Docker学习--容器生命周期管理相关命令--docker rm 命令
  • 【word】导出批注具体到某段引用
  • 【一起来学kubernetes】31、Helm使用详解
  • Redis 02
  • 河北邯郸回应被曝涉生猪未检疫、注水问题:将严厉查处违法行为
  • 建筑瞭望|从黄浦江畔趸船改造看航运设施的升级与利用
  • 广西北流出现强降雨,1人被洪水冲走已无生命体征
  • 多个“首次”!上市公司重大资产重组新规落地
  • 沃尔玛上财季净利下滑12%:关税带来成本压力,新财季价格涨幅将高于去年
  • 打击网络侵权盗版!四部门联合启动“剑网2025”专项行动