leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
3212.cpp (684B)
0 class Solution {
1 public:
2 int numberOfSubmatrices(const vector<vector<char>> &grid) const {
3 const int n = size(grid), m = size(grid[0]);
4 vector<vector<int>> x(n + 1, vector(m + 1, 0));
5 vector<vector<int>> y(n + 1, vector(m + 1, 0));
6 int res = 0;
8 for (int i = 1; i <= n; i++) {
9 for (int j = 1; j <= m; j++) {
10 x[i][j] = x[i - 1][j] + x[i][j - 1] - x[i - 1][j - 1] + (grid[i - 1][j - 1] == 'X');
11 y[i][j] = y[i - 1][j] + y[i][j - 1] - y[i - 1][j - 1] + (grid[i - 1][j - 1] == 'Y');
12 if (x[i][j] > 0 && x[i][j] == y[i][j]) res++;
13 }
14 }
16 return res;
17 }
18 };