1504. Count Submatrices With All Ones

DP

O(m*n*worst(m)) = O(m^2n)

如果今天只是1d array...

[1,1,1,1]

那是不是就是 1 + 2 + 3 +4 = 10, 10 種 matrices

所以在某 row 上, 持續看左邊去增長, 如果中間有 0 的, 那就是 0 (斷掉了

row 看左邊完了

那在看上面...所以再跑一個 for 看上面 , 看每個元素值最小多少, 代表可以湊成更多的 matrices, 一樣, 如果中間有 0 就斷掉了

ex:

1 → 0

0 → 0

1 → 1. 中間斷掉了 所以只能算一個

其他向上看的 case

1

1

1 → 代表有三個!1+1+1

2

1

1 → 還是 3 個

python

Last updated

Was this helpful?