二维前缀和

102 阅读1分钟

image.png

以下为二位矩阵的练习:
1277. 统计全为 1 的正方形子矩阵 - 力扣(LeetCode)

304. 二维区域和检索 - 矩阵不可变 - 力扣(LeetCode)

1504. 统计全 1 子矩形 - 力扣(LeetCode)

3070. 元素和小于等于 k 的子矩阵的数目 - 力扣(LeetCode)

3070的Python代码示例:

class Solution:
    def countSubmatrices(self, grid: List[List[int]], k: int) -> int:
        ans = 0
        m, n = len(grid), len(grid[0])
        s = [[0] * (n + 1) for _ in range(m + 1)]
        for i, row in enumerate(grid):
            for j, x in enumerate(row):
                s[i + 1][j + 1] = s[i + 1][j] + s[i][j + 1] - s[i][j] + x
                if s[i + 1][j + 1] <= k:
                    ans += 1
        return ans