題目描述:
在乙個由 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(dp[i-1][j-1],min(dp[i-1][j],dp[i][j-1]))+1;其中dp[ i ][ j ]表示在以i-1,j-1處的字元為右下角時,可能組成的正方形的最大邊長,則需要獲得dp[i-1][j-1],dp[i-1][j],dp[i][j-1]三處中,最小值,相當於是這三處都能組成的正方行的最小值,這樣這三個小的正方形疊加到一起,就是乙個缺少了右下角的正方形,故加1就為當前位置的最大的正方形;
class
solution}}
return maxlength*maxlength;}}
;
221 最大正方形(動態規劃
在乙個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。上班之餘還是要保持穩定的刷題習慣。做完本題後回憶了四道dp的題 爬樓梯,打家劫舍,最短路徑和,最大正方形。發現動態規劃思考量最大的還是動態轉移方程 1.本題的關鍵點就是想通,狀態轉移方程,dp i j min dp ...
221 最大正方形
在乙個由 0 和 1 組成的二維矩陣內,找到只包含 1 的最大正方形,並返回其面積。輸入 1 0 1 0 0 1 01 11 1 11 11 1 0 0 1 0輸出 4動態規劃。1 狀態方程dp i j 表示右下角下標為 i,j 時的最大正方形邊長。當遇到0時,dp i j 0,肯定不能構成正方形 ...
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 當我們判斷以某個點為正方形右下角時最大的正方形時,那它的上方,左方和左上方三個點也一定是某個正方形的右下角,否則該...