前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【LeetCode】221. 最大正方形

【LeetCode】221. 最大正方形

作者头像
韩旭051
发布2020-06-23 14:42:00
4810
发布2020-06-23 14:42:00
举报
文章被收录于专栏:刷题笔记刷题笔记

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

示例:

输入:

1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0

输出: 4

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximal-square

动态规划 二维数组可以降低到一维存储。

一开始就没分析对,但是蒙对了几个测试样例,所以怎么改都不对。

不是 比较 前 中 后 是比较 前 中 和更新前的 前

class Solution {
    int Min(int a,int b){
        if(a<b){return a;}
        return b;
    }
    int Max(int a,int b){
        if(a>b){return a;}
        return b;
    }
public:
    int maximalSquare(vector<vector<char>>& matrix) {
        if(matrix.size()==0){return 0;}
        int maxans=0;
        int pre=0;
        vector<int>num(matrix[0].size());
        for(int a=0; a<matrix.size();a++){
            pre=0;
            for(int b=0;b<matrix[0].size();b++){
                int t=num[b];
                if(matrix[a][b]=='1'){
                    num[b]=Min(pre,num[b]);
                    if(b>0)num[b]=Min(num[b-1],num[b]);
                    num[b]++;
                    maxans=Max(maxans,num[b]);
                }else num[b]=0;
                pre=t;
            }
        }return maxans*maxans;
    }
};
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档