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]); 4 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 } 13 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 };