美文网首页
leetcode221 最大正方形

leetcode221 最大正方形

作者: 奥利奥蘸墨水 | 来源:发表于2019-12-29 14:12 被阅读0次

题目

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

示例:

输入:

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

输出: 4

分析

动态规划问题。本题完全没看其他题解自己想出来的状态转移方程,还是很有成就感的。设dp[i][j]表示到(i,j)位置时,可形成的最大的矩形边长。它的值为它相邻的上、左、和左上三个位置的可形成最大矩形边长加一。
边界条件:略。
状态转移方程:dp[i][j] = min(dp[i - 1][j], dp[i - 1][j - 1], dp[i][j - 1]) + 1。

代码

class Solution {
public:
    int maximalSquare(vector<vector<char>>& matrix) {

        if (matrix.empty()){
            return 0;
        }

        int row = matrix.size();
        int col = matrix[0].size();
        int res = 0;

        vector<vector<int>> dp(row, vector<int>(col, 0));

        for (int i = 0; i < row; i++){
            for (int j = 0; j < col; j++){
                if (i == 0 || j == 0){
                    dp[i][j] = matrix[i][j] - '0';
                }else if(matrix[i][j] != '0'){
                    int min_s = INT_MAX;
                    min_s = min(min_s, dp[i - 1][j]);
                    min_s = min(min_s, dp[i][j - 1]);
                    min_s = min(min_s, dp[i - 1][j - 1]);
                    dp[i][j] = min_s + 1;
                }
                
                res = max(res, dp[i][j]);
            }
        }

        return res * res;
    }
};

相关文章

  • leetcode221 最大正方形

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

  • 最大正方形

    在一个二维01矩阵中找到全为1的最大正方形您在真实的面试中是否遇到过这个题?Yes样例1 0 1 0 01 0 1...

  • 最大正方形

    题目描述 https://leetcode-cn.com/problems/maximal-square/ 解 思...

  • 最大正方形

    标签:动态规划 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入...

  • 最大正方形

    题目: 题目的理解: 找到1,则进行判断正方形的一圈是否都是1. 然后记录面积。 python实现 想看最优解法移...

  • 最大正方形

    https://leetcode-cn.com/explore/interview/card/bytedance/...

  • 最大正方形

    简书来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maxi...

  • 最大正方形

    题目描述:在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例:输入:1 0...

  • 最大正方形

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

  • LeetCode No.13最大正方形

    1. LeetCode221题目链接链接 https://leetcode-cn.com/problems/max...

网友评论

      本文标题:leetcode221 最大正方形

      本文链接:https://www.haomeiwen.com/subject/ydpyoctx.html