力扣1277 統計全爲1的正方形子矩陣 動態規劃

1、官方題解:

https://leetcode-cn.com/problems/count-square-submatrices-with-all-ones/solution/tong-ji-quan-wei-1-de-zheng-fang-xing-zi-ju-zhen-2/

 

class Solution {
public:
    int countSquares(vector<vector<int>>& matrix) {
        int m=matrix.size();
        int n=matrix[0].size();
        vector<vector<int>> f(m,vector<int>(n));
        int ans=0;
        for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(i==0||j==0)
                {
                    f[i][j]=matrix[i][j];
                }
                else if(matrix[i][j]==0)
                {
                    f[i][j]=0;
                }
                else if(matrix[i][j]==1)
                {
                    f[i][j]=min(min(f[i-1][j],f[i][j-1]),f[i-1][j-1])+1;
                }
                ans+=f[i][j];
            }
        }
        return ans;
    }
};
// class Solution {
// public:
//     int countSquares(vector<vector<int>>& matrix) {
//         int m = matrix.size(), n = matrix[0].size();
//         vector<vector<int>> f(m, vector<int>(n));
//         int ans = 0;
//         for (int i = 0; i < m; ++i) {
//             for (int j = 0; j < n; ++j) {
//                 if (i == 0 || j == 0) {
//                     f[i][j] = matrix[i][j];
//                 }
//                 else if (matrix[i][j] == 0) {
//                     f[i][j] = 0;
//                 }
//                 else {
//                     f[i][j] = min(min(f[i][j - 1], f[i - 1][j]), f[i - 1][j - 1]) + 1;
//                 }
//                 ans += f[i][j];
//             }
//         }
//         return ans;
//     }
// };


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章