Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.80 KB | None | 0 0
  1. public class Solution {
  2.     public int maximalSquare(char[][] matrix) {
  3.         if(matrix.length == 0) return 0;
  4.        
  5.         int row = matrix.length;
  6.         int col = matrix[0].length;
  7.         int maxSum = 0;
  8.         int[][] dp = new int[row + 1][col + 1];
  9.  
  10.      
  11.        
  12.         for(int i = 1; i < row + 1; i ++){
  13.             for(int j = 1; j < col + 1; j ++){
  14.                 dp[i][j] = 0;
  15.                
  16.                 if(matrix[i-1][j-1] == '1'){
  17.                     int x = Math.min(dp[i-1][j], dp[i][j-1]);
  18.                     dp[i][j] = Math.min(x, dp[i-1][j-1]) + 1;
  19.                     //System.out.println("cacat");
  20.                 }
  21.                 if(dp[i][j] > maxSum)
  22.                     maxSum = dp[i][j];
  23.             }
  24.         }
  25.         return maxSum * maxSum;
  26.     }
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement