W
What color is your bugatti?
@waytobugatti14 подп.
12просмотров
85.7%от подписчиков
19 марта 2026 г.
📷 ФотоScore: 13
#leetcode #medium #microsoft 3212. Count Submatrices With Equal Frequency of X and Y Дейлик литкода 19.03.2026 Given a 2D character matrix grid, where grid[i][j] is either 'X', 'Y', or '.', return the number of submatrices that contain: grid[0][0] an equal frequency of 'X' and 'Y'. at least one 'X'. По сути задачка такая же, как вчера. Только литкод какое-то кривоватое решение решение предлагает. Вчерашнее адаптировал. class Solution { public int numberOfSubmatrices(char[][] grid) { int n = grid.length; int m = grid[0].length; // Префиксные суммы только для 'X' и 'Y' // prefixX[i+1][j+1] = кол-во 'X' в прямоугольнике от (0,0) до (i,j) int[][] prefixX = new int[n + 1][m + 1]; int[][] prefixY = new int[n + 1][m + 1]; // Заполняем префиксные суммы for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { // Переносим значения из левой и верхней ячейки prefixX[i + 1][j + 1] = prefixX[i + 1][j] + prefixX[i][j + 1] - prefixX[i][j]; prefixY[i + 1][j + 1] = prefixY[i + 1][j] + prefixY[i][j + 1] - prefixY[i][j]; // Добавляем текущую клетку if (grid[i][j] == 'X') { prefixX[i + 1][j + 1]++; } else if (grid[i][j] == 'Y') { prefixY[i + 1][j + 1]++; } } } int count = 0; // Проверяем все возможные прямоугольники [0..i][0..j] for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { int cntX = prefixX[i + 1][j + 1]; int cntY = prefixY[i + 1][j + 1]; if (cntX == cntY && cntX >= 1) { count++; } } } return count; } }
12
просмотров
2002
символов
Нет
эмодзи
Да
медиа

Другие посты @waytobugatti

Все посты канала →
#leetcode #medium #microsoft 3212. Count Submatrices With Eq — @waytobugatti | PostSniper