问题描述 :
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。
示例:
输入:
1 0 1 0 0
1 0 1 1 1
1 1 1 1 1
1 0 0 1 0
输出: 4
输入说明 :
首先输入矩阵的行数m、列数n
然后输入m行,每行n个字符0或1,中间无空格分隔。
输出说明 :
输出一个整数
输入范例 :
4 5
10100
10111
11111
10010
输出范例 :
4
//dp没用到 遇到一个1 就往前找 遇到0就停止
#include<iostream>
#include<vector>
using namespace std;
int maxSquare(vector<vector<int>> matrix){
if(matrix.size()==0){
return 0;
}
int res=0;
vector<vector<int>> dp(matrix.size(),vector<int>(matrix[0].size()));
for(int i=0;i<matrix.size();i++){
if(matrix[i][0]==1){
res=1;
dp[i][0]=1;
}else{
dp[i][0]=0;
}
}
for(int i=0;i<matrix[0].size();i++){
if(matrix[0][i]==1){
res=1;
dp[0][i]=1;
}else{
dp[0][i]=0;
}
}
for(int i=1;i<matrix.size();i++){
for(int j=1;j<matrix[0].size();j++){
if(matrix[i][j]==0){
dp[i][j]=0;
}else{
int bian=min(j,i);
int m=i-1;
int n=j-1;
while(bian--){
int flag=0;
int tag=0;
for(int k=m;k<=i;k++){
if(matrix[k][n]==0){
flag=1;
break;
}
}
for(int l=n;l<=j;l++){
if(matrix[m][l]==0){
tag=1;
break;
}
}
m--;
n--;
if(tag||flag){
break;
}
}
if((min(i,j)-bian)*(min(i,j)-bian)>res){
res=(min(i,j)-bian)*(min(i,j)-bian);
}
}
}
}
return res;
}
int main(){
int m,n;
cin>>m;
cin>>n;
vector<int> tmp;
char temp;
vector<vector<int>> matrix;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cin>>temp;
tmp.push_back(temp-'0');
}
matrix.push_back(tmp);
tmp.clear();
}
int res=maxSquare(matrix);
cout<<res;
}
文章浏览阅读1.5w次,点赞14次,收藏92次。0x00 准备工具1、容量8G及以上的U盘2、kali linux镜像下载 - 下载地址:https://www.kali.org/downloads/3、镜像刻录软件Win32 Disk Imager - 下载地址:https://win32-disk-imager.en.lo4d.com/4、硬盘分区助手 - 下载地址:https://www.disktool.cn/5、制作引导工具..._kali系统和win可以共同吗
文章浏览阅读587次,点赞6次,收藏14次。因为媒体的宣传能够带给我们重要的信息资源,新闻发布和评论管理是国家管理机制重要的一环,,面对这一世界性的新动向和新问题,新闻发布如何适应新的时代和新的潮流,开展有效的信息服务工作,完成时代赋予的新使命?在新闻发布和评论管理系统开发之前所做的市场调研及其他的相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于新闻发布和评论管理系统的开发在经济上是完全可行的,没有任何费用支出的。
文章浏览阅读1.7w次,点赞44次,收藏177次。python中set方法详解以及案例说明超详细_python set
文章浏览阅读1.3w次,点赞5次,收藏16次。贝壳是今年秋招得第一个offer,因此回馈网友,记录一下贝壳得笔试+四面:【笔试】笔试是去公司现场面之前,给的一套题目,包括一下几题:1.找出数据中的错误数据,并给出理由2.贝壳如果去新的城市扩张,需要看哪些指标3.聚类分析有哪几种,说说其中一种得原理以及计算步骤4.一道SQL,需要用到rank()函数即可笔试不刷人,然后直接带着自己做的笔试卷子,去一面【一面】1.万年自我介绍..._贝壳如果去新的城市扩张需要看哪些指标
文章浏览阅读58次。java计算机毕业设计计算机公共课程学习资源管理系统源码+mysql数据库+系统+lw文档+部署。springboot基于Springboot的滑雪场学具租赁管理系统。ssm基于HTML的“牧经校园疫情防控网站”的设计与实现。springboot基于springBoot公告管理。JSP企业进销存系统的设计与实现SQLServer。JSP服装销售网站的设计与实现sqlserver。ssm基于Vue.js的音乐播放器设计与实现。springboot多维分类的知识管理系统。
文章浏览阅读1.9w次,点赞29次,收藏46次。什么是前端开发?概念我们通常所说的前端开发通常指的是网站的创建网站是一个用户界面,也就是你在网站上看到的的文本、按钮、图像还有视图。那么创建这些可交互界面的实践就叫做WEB界面的开发就像是你在银行里取钱不是直接往库存里伸手去拿,而是通过ATM这个银行的前端去进行一些操作尽管我们说的前端开发尽管通常指网站开发,但是现如今的前端开发已经是全平台的开发了,例如手机APP、微信小程序等。所以准确的来说前端开发,应该是直接给予用户的可交互式界面的开发,是创建用户界面的实践让用户以安全且友好的方式与数据_后端开发
文章浏览阅读236次。网站的快速加载是良好用户体验和搜索引擎优化的要素之一,但每当谷歌AdSense的广告代码部署到网站上时,速度都会显着下降,这是因为要下载大量文件才能显示广告,并且其中包含大量无用、被墙的请求及代码。_wordpress 怎么做谷歌优化
文章浏览阅读8.6k次。c# controls.add 控件的使用 10函数内部用下面代码增加控件:Button btn = new Button();btn.Location = new Point( 20, 20);btn.Size = new Size( 60,40);btn.Text = "btn'sText";this.Controls.Add( btn );问题:函数执行完后,bt_this.controls.add
文章浏览阅读329次。原理宿主APP安装在手机中的APP,并且通过该APP加载插件中的Activity插件APP没有安装的apk,通过宿主直接打开其内部Activity标准(协议)宿主APP和插件APP通信的桥梁。宿主APP通过一个空壳Activity(代理Activity)加载插件app中的Activity,实际上插件app中的Activity并没有入栈,也没法入栈,因为插件app没有安装,没有上下文和..._activity跳转 插件
文章浏览阅读1.0k次,点赞9次,收藏13次。输入格式:一行,一个整数,即图形的层数输出格式:如上述图形输入样例:3输出样例:AAAAAABBBAABCBAABBBAAAAAA//打印图形题关键是找规律,一般只需两重循环(行循环、列循环)#include<stdio.h>#include<string.h>int main() { int i, n; char ..._c语言pta怎么使用
文章浏览阅读3.3w次,点赞9次,收藏25次。刚开始学习docker,发现下载镜像非常的慢。如果不经过,docker的镜像下载都来源于国外,因此需要配置国内的镜像源。Docker中国区官方镜像。_docker国内镜像源
文章浏览阅读1.9w次,点赞40次,收藏209次。一.首先在场景中新建UI中的Raw Image可以按住Alt再点击下图红色箭头所示将Raw Image铺满游戏全屏(也可以自己调整大小)二.给Raw Image添加Video Player组件三.在Assets或者自己想要的文件夹中创建Render Texture四.将准备好的视频(这里用到的视频格式是mp4)拖入项目中并做如下修改这里我把新建的Render Texture命名为2,拖入的视频也命名为2(随便命的,不要在意)这里我们看到这个Render Te..._unity 播放视频