题来了, 此题出自力扣, 原题链接:
https://leetcode-cn.com/problems/count-submatrices-with-all-ones/
描述: 给你一个只包含 0 和...1 的 rows * columns 矩阵 mat ,请你返回有多少个 子矩形 的元素全部都是 1 。...有 2 个 1x2 的矩形。
有 3 个 2x1 的矩形。
有 1 个 2x2 的矩形。
有 1 个 3x1 的矩形。
矩形数目总共 = 6 + 2 + 3 + 1 + 1 = 13 。...思路如下:
利用i, j 将二维数组的所有节点遍历一遍
利用m, n将以[i][j]为左上顶点的子矩阵遍历一遍
判断i, j, m, n四个变量确定的矩阵是否为全1矩阵
代码实现:
int numSubmat...在最后判断是否全1的循环中, 如果左上的数字是0, 那必然没有全1子矩阵了
再如果向下找的时候, 碰到0, 那下一列的时候也没必要超过这里了, 因为子矩阵至少有一个0了, 如下图:
?