Count Square Submatrices with All Ones LeetCode solution in Java
1class Solution {2public int countSquares(int[][] matrix) {3int n = matrix.length;4int m = matrix[0].length;5int dp[][] = new int[n][m];6for (int i = 0; i < n; i++) {7dp[i][0] = matrix[i][0];8}9for (int i = 0; i < m; i++) {10dp[0][i] = matrix[0][i];11}12for (int i = 1; i < n; i++) {13for (int j = 1; j < m; j++) {14if (matrix[i][j] == 1)15dp[i][j] = 1 + Math.min(dp[i - 1][j - 1], Math.min(dp[i][j - 1], dp[i - 1][j]));16}17}1819int sum = 0;20for (int i = 0; i < n; i++) {21for (int j = 0; j < m; j++) {22sum += dp[i][j];23}24}2526return sum;27}28}