leetcode題庫221 最大正方形

2021-10-05 21:37:09 字數 606 閱讀 1044

在乙個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。

示例:

輸入: 

1 0 1 0 0

1 0 1 1 1

1 1 1 1 1

1 0 0 1 0

輸出: 4

思路

問題要找到最大全為1的正方形。p(i,j)點為右下角的正方形,計算全為1的正方形的邊長。很明顯與p(i-1, j), p(i-1, j-1), p(i, j-1)三個點有關。

p(i,j) = 三個點中的最小值加1.。畫個圖更好理解。

int maximalsquare(vector>& matrix) 

int cols = matrix[0].size();

vector> dp(rows, vector(cols));

int maxsize = 0;

for(int i = 0; i < rows; ++i)

maxsize = max(maxsize, dp[i][j]);}}

return maxsize*maxsize;

}

LeetCode221 最大正方形

在乙個由 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 m n 其中dp i j 表示以座標 i,j 為右下角元素的最大正方形的邊長。通過觀...

Leetcode 221 最大正方形

在乙個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。示例 輸入 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 輸出 4 思路 和最大長方形類似 可以參照不過每次的max換位長和寬中選取最小值,算他們的平方 提交的 class solu...

LeetCode 221 最大正方形

題目描述 在乙個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。輸入 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 輸出 4 思路 本題需要返回矩陣中最大的正方形面積,計算正方形面積只要知道邊長即可。申請乙個跟matrix矩陣維度相同的...