leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

1504.cpp (745B)


0 class Solution {
1 public:
2 int numSubmat(vector<vector<int>> &mat) const {
3 const int n = size(mat), m = size(mat[0]);
5 for (int j = 0; j < m; j++) {
6 for (int i = 0, acc = 0; i < n; i++) {
7 if (mat[i][j])
8 mat[i][j] = acc += 1;
9 else
10 acc = 0;
11 }
12 }
14 int res = 0;
15 for (int i = 0; i < n; i++) {
16 for (int j = 0; j < m; j++) {
17 int mini = mat[i][j];
18 for (int k = j; k >= 0; k--) {
19 mini = min(mini, mat[i][k]);
20 if (!mini) break;
21 res += mini;
22 }
23 }
24 }
25 return res;
26 }
27 };