Maximal Square || LeetCode
dp.
#define MAX 1000
int rowLeft[MAX][MAX];
int colUp[MAX][MAX];
int dp[MAX][MAX];
void calRow(char **matrix,int matrixRowSize,int matrixColSize){
int i,j;
for(i=0;i<matrixRowSize;++i){
for(j=0;j<matrixColSize;++j)
{
if(matrix[i][j]=='1')
{
if(j==0)rowLeft[i][j]=1;
else rowLeft[i][j]=rowLeft[i][j-1]+1;
}
else rowLeft[i][j]=0;
}
}
}
void calCol(char **matrix,int matrixRowSize,int matrixColSize){
int i,j;
for(i=0;i<matrixRowSize;++i)
{
for(j=0;j<matrixColSize;++j)
{
if(matrix[i][j]=='1'){
if(i==0)colUp[i][j]=1;
else colUp[i][j]=colUp[i-1][j]+1;
}
else colUp[i][j]=0;
}
}
}
int min(int a,int b,int c){
int t;
t=(a<b?a:b);
t=(t<c?t:c);
return t;
}
int maximalSquare(char** matrix, int matrixRowSize, int matrixColSize) {
int i,j,maxSquare=0;
calRow(matrix,matrixRowSize,matrixColSize);
calCol(matrix,matrixRowSize,matrixColSize);
for(i=0;i<matrixRowSize;++i)
{ for(j=0;j<matrixColSize;++j)
{
if(i==0||j==0)
dp[i][j]=(matrix[i][j]=='1'?1:0);
else dp[i][j]=min(dp[i-1][j-1]+1,rowLeft[i][j],colUp[i][j]);
maxSquare=(maxSquare>dp[i][j]?maxSquare:dp[i][j]);
}
}
return maxSquare*maxSquare;
}
我这个空间复杂度有点高
Maximal Square || LeetCode的更多相关文章
- 求解最大正方形面积 — leetcode 221. Maximal Square
本来也想像园友一样,写一篇总结告别 2015,或者说告别即将过去的羊年,但是过去一年发生的事情,实在是出乎平常人的想象,也不具有代表性,于是计划在今年 6 月份写一篇 "半年总结" ...
- leetcode每日解题思路 221 Maximal Square
问题描述: 题目链接:221 Maximal Square 问题找解决的是给出一个M*N的矩阵, 只有'1', '0',两种元素: 需要你从中找出 由'1'组成的最大正方形.恩, 就是这样. 我们看到 ...
- 【动态规划】leetcode - Maximal Square
称号: Maximal Square Given a 2D binary matrix filled with 0's and 1's, find the largest square contain ...
- LeetCode之“动态规划”:Maximal Square && Largest Rectangle in Histogram && Maximal Rectangle
1. Maximal Square 题目链接 题目要求: Given a 2D binary matrix filled with 0's and 1's, find the largest squa ...
- 【LeetCode】221. Maximal Square
Maximal Square Given a 2D binary matrix filled with 0's and 1's, find the largest square containing ...
- 【刷题-LeetCode】221. Maximal Square
Maximal Square Given a 2D binary matrix filled with 0's and 1's, find the largest square containing ...
- [LintCode] Maximal Square 最大正方形
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...
- [LeetCode] Maximal Square 最大正方形
Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...
- LeetCode Maximal Square
原题链接在这里:https://leetcode.com/problems/maximal-square/ 这是一道DP题,存储历史信息是到当前点能有的最大square, 用二维数组dp存储. 更新方 ...
随机推荐
- DFS POJ 2362 Square
题目传送门 /* DFS:问能否用小棍子组成一个正方形 剪枝有3:长的不灵活,先考虑:若根本构不成正方形,直接no:若第一根比边长长,no 这题是POJ_1011的精简版:) */ #include ...
- FZU2219 StarCraft(哈夫曼树)
一个工人可以变成两个工人,这样可以画出一颗二叉树,那么就是在叶子上建的建筑. 问题的时间花费,可以看作是这颗二叉树中各个叶子的深度*k+叶子对应建筑耗费时间中的最大值. 容易想到,类似哈夫曼树一样,从 ...
- BZOJ3325 : [Scoi2013]密码
从以每一位为中心的回文串长度可以用Manacher倒推出$O(n)$对相等和不等关系. 将相等的用并查集维护,不等的连边. 然后输出方案时若还没被染过色,则求一个mex. #include<cs ...
- ios CGImageRelease 出现 EXC_BAD_ACCESS的错误 ios特定形状剪裁图片 内存泄露
CGImageRef imgRef = [image CGImage]; 通过此种方式的得到的CGImageRef不能利用CGImageRelease释放,因为你不拥有它所以不用释放 在ios中特定形 ...
- COJ1012 WZJ的数据结构(十二)
今天突然想写个树套树爽一爽(1810ms) 写的是树状数组套线段树(动态开节点) #include<cstdio> #include<cctype> #include<c ...
- OI优化开关
#pragma comment(linker,"/STACK:10240000,10240000")#pragma GCC optimize ("O2")
- myeclipse 第一个web project
创建一个java project. 不行...js文件是javascript代码的文件.应该放在web目录下...java文件是后台管理的程序代码.放在src目录下...不同的... 那是不是把所 ...
- IOS第四天(6:答题区按钮点击和乱序)
#pragma mark - 答题区按钮点击方法 - (void)answerClick:(UIButton *)button { // 1. 如果按钮没有字,直接返回 ) return; // 2. ...
- 课堂Scrum站立会议演示
组名:连连看 组长:张政 组员:张金生.李权.武志远 时间:2016.10.13 20:20--20:40 会议内容: 已完成的内容: 1.选定编译语言,安装软件并配置环境,完成了游戏的基本模型. ...
- discuz ucenter通信失败
一般出现时2个问题,一个是目录出问题,改成你现在的目录就行 二个就是通信密钥不对,应该和config文件下的config_ucenter.php文件里的UC_KEY一致