1277. 统计全为 1 的正方形子矩阵
题目链接:1277. 统计全为 1 的正方形子矩阵
代码如下:
class Solution {
public:int countSquares(vector<vector<int>>& matrix) {if(matrix.size()==0||matrix[0].size()==0) return 0;//dp[i][j]代表以(i,j)为右下角,且只包含1的正方形边长的最大值vector<vector<int>> dp(matrix.size(),vector<int>(matrix[0].size(),0));int total=0;for(int i=0;i<matrix.size();i++){for(int j=0;j<matrix[0].size();j++){if(matrix[i][j]==1){if(i==0||j==0)dp[i][j]=1;elsedp[i][j]=min(min(dp[i-1][j],dp[i][j-1]),dp[i-1][j-1])+1;if(dp[i][j]!=0)total+=dp[i][j];}}}return total;}
};