Leetcode 1277. 统计全为 1 的正方形子矩阵 动态规划

原题链接:Leetcode 1277. 统计全为 1 的正方形子矩阵

cpp 复制代码
class Solution {
public:
    int countSquares(vector<vector<int>>& matrix) {
        int m = matrix.size();
        int n = matrix[0].size();
        vector<vector<int>> dp(m, vector<int>(n, 0));
        int res = 0;
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                dp[i][j] = 0;
                if (matrix[i][j] == 1) {
                    if (i == 0 || j == 0) {
                        dp[i][j] = 1;
                    } else {
                        dp[i][j] = min(min(dp[i][j - 1], dp[i - 1][j]),
                                       dp[i - 1][j - 1]) +
                                   1;
                    }
                }
                res += dp[i][j];
            }
        }
        return res;
    }
};
相关推荐
leoufung3 分钟前
LeetCode 92 反转链表 II 全流程详解
算法·leetcode·链表
利刃大大42 分钟前
【动态规划:背包问题】完全平方数
c++·算法·动态规划·背包问题·完全背包
im_AMBER1 小时前
Leetcode 59 二分搜索
数据结构·笔记·学习·算法·leetcode
leoufung2 小时前
LeetCode 61. 旋转链表(Rotate List)题解与思路详解
leetcode·链表·list
leoufung7 小时前
逆波兰表达式 LeetCode 题解及相关思路笔记
linux·笔记·leetcode
前端小L9 小时前
图论专题(十九):DAG上的“关键路径”——极限规划「并行课程 III」
算法·矩阵·深度优先·图论·宽度优先
Aspect of twilight9 小时前
LeetCode华为大模型岗刷题
python·leetcode·华为·力扣·算法题
2301_807997389 小时前
代码随想录-day47
数据结构·c++·算法·leetcode
Elias不吃糖9 小时前
LeetCode每日一练(3)
c++·算法·leetcode
艾莉丝努力练剑10 小时前
【优选算法必刷100题】第031~32题(前缀和算法):连续数组、矩阵区域和
大数据·人工智能·线性代数·算法·矩阵·二维前缀和