221 最大正方形 動態規劃

2021-10-07 18:46:07 字數 594 閱讀 8005

題目描述:

在乙個由 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 當我們判斷以某個點為正方形右下角時最大的正方形時,那它的上方,左方和左上方三個點也一定是某個正方形的右下角,否則該...