[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
動態規劃
class Solution {
public int maximalSquare(char[][] matrix) {
int n=matrix.length;
if(n<1) return 0;
int m=matrix[0].length;
if(m<1) return 0;
// 在new動態規劃表格的時候多加一行一列 就不需要考慮out index
int[][] dp=new int[n+1][m+1];
int maxside=0;
for(int i=1;i<n+1;i++){
for(int j=1;j<m+1;j++){
if(matrix[i-1][j-1]=='1'){
dp[i][j] = Math.min(Math.min(dp[i - 1][j], dp[i][j - 1]), dp[i - 1][j - 1]) + 1;
maxside=Math.max(dp[i][j],maxside);
}
}
}
return maxside*maxside;
}
}
相關文章
- 劍指offer計劃9(動態規劃中等版)---java動態規劃Java
- [leetcode] 動態規劃(Ⅰ)LeetCode動態規劃
- 動態規劃最大欄位和動態規劃
- 最大子陣——動態規劃DP動態規劃
- Leetcode 題解系列 -- 股票的最大利潤(動態規劃)LeetCode動態規劃
- leetcode:動態規劃( hard )LeetCode動態規劃
- 禮物的最大價值(一維動態規劃&二維動態規劃)動態規劃
- leetcode總結——動態規劃LeetCode動態規劃
- leetcode題解(動態規劃)LeetCode動態規劃
- LeetCode動態規劃總結LeetCode動態規劃
- 【LeetCode】Word Break 動態規劃LeetCode動態規劃
- Java 演算法-最大矩形(動態規劃)Java演算法動態規劃
- 【動態規劃】求最大連續bit數動態規劃
- LeetCode-5426、重新規劃路線-中等LeetCode
- 【leetcode】741 摘櫻桃(動態規劃)LeetCode動態規劃
- leetcode-動態規劃總結LeetCode動態規劃
- 【LeetCode】Word Break II 動態規劃LeetCode動態規劃
- 【動態規劃(一)】動態規劃基礎動態規劃
- [LeetCode] 動態規劃題型總結LeetCode動態規劃
- Leetcode 編輯距離(動態規劃)LeetCode動態規劃
- LeetCode 動態規劃 House Robber 習題LeetCode動態規劃
- [leetcode 1235] [動態規劃]LeetCode動態規劃
- 磁帶最大利用率問題——動態規劃動態規劃
- 動態規劃動態規劃
- LeetCode 分割回文串II(動態規劃)LeetCode動態規劃
- LeetCode入門指南 之 動態規劃思想LeetCode動態規劃
- LeetCode:動態規劃+貪心題目整理LeetCode動態規劃
- LeetCode 343. 整數拆分--動態規劃LeetCode動態規劃
- 【LeetCode】55. 跳躍遊戲 (動態規劃)LeetCode遊戲動態規劃
- 動態規劃分析動態規劃
- 動態規劃(DP)動態規劃
- 動態規劃初步動態規劃
- 模板 - 動態規劃動態規劃
- 動態規劃法動態規劃
- Leetcode 題解演算法之動態規劃LeetCode演算法動態規劃
- LeetCode總結,動態規劃問題小結LeetCode動態規劃
- 動態規劃---例題3.最大子段和問題動態規劃
- 動態規劃-最大子矩陣和(ZOJ 1074 TO THE MAX )動態規劃矩陣