Ctrl K

Прямоугольники с заданной суммой

Сложная
Дана таблица целых чисел grid и число goal. Прямоугольник — это непустой блок клеток таблицы, ограниченный какими-то строками от r1 до r2 и столбцами от c1 до c2 включительно. Верните количество прямоугольников, сумма чисел в которых равна goal. Прямоугольники различаются, если отличается хотя бы одна из их границ.
Пример 1
grid=[[0, 3], [-3, 0]], goal=0 → 3

Сумма 0 у двух клеток с нулями и у всей таблицы: 0 + 3 - 3 + 0 = 0. Строки и столбцы дают 3 или -3.

Пример 2
grid=[[1, 1, 1]], goal=2 → 2

Сумма 2 у двух прямоугольников 1×2: первые две клетки и последние две.

Пример 3
grid=[[5]], goal=-5 → 0
Ограничения
  • 1 ≤ len(grid), len(grid[0]) ≤ 150
  • Все строки grid одной длины
  • -1000 ≤ grid[i][j] ≤ 1000
  • -10⁸ ≤ goal ≤ 10⁸
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДорешать судоку СложнаяСамый доходный участок под лимитом СложнаяЧетыре равных куска СложнаяПогасить все лампы СложнаяРазрезать торт с ягодами Сложная
загружаем Python…
Вход
grid=[[0, 3], [-3, 0]], goal=0
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 85 тестов на сервере, включая скрытые.