在乙個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。
示例:
輸入:101
0010
1111
1111
1001
0輸出:
4
思路:動態規劃設dp[i]為最大正方形的右下角。
那麼我們該如何去更新dp[i]的值?
因為dp[i]表示正方形的右下角,很顯然dp[i]的值與它的左邊,左上角,上邊的三個值有關係。我們取這三個值中最小的乙個並加上dp[i],因為這三個值中,最小的是絕對不會包含0的,而其他的數值,在加上dp[i]的同時,因為有另外兩個值的影響,是會包含0的。
如圖:
由此得出轉移方程:dp[i] = min, dp[i - 1][j - 1]} + 1;
注意:此方法求出的為最大正方形的邊長,最後應返回面積。
class
solution}}
return l*l;}}
;
最大子正方形 (!) 動態規劃
背景描述 忙完了學校的事,v神終於可以做他的 正事 陪女朋友散步。一天,他和女朋友走著走著,不知不覺就來到了乙個千里無菸的地方。v神正要往回走,如發現了一塊牌子,牌子上有有一行小字和一張圖,小字說道 找到圖上最大的交錯正方形之後和我聯絡,這塊地就是你的了。在房價瘋長的年代,v神當然不願錯過這個機會,...
動態規劃 面積最大正方形
給定乙個矩陣,其中的元素為0或者1,要求找出其中元素全為1的面積最大的正方形。如下圖的矩陣,其元素全為1的最大正方形面積為4。方法一 對於每乙個元素,把以其為右下角的矩陣的和求出來,然後根據這個和與左上邊的元素的和的關係來求解。但這種方法時間和空間複雜度都較高。public int maximals...
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 方法1 動態規劃 主要思路 1 該方法的實現比較簡單,主要是能夠理解動態轉移公式 dp i j min ...