Ctrl K

Слои краски на холсте

Средняя
Холст — таблица n × n, сначала во всех клетках 0. Строки и столбцы нумеруются с нуля. Дан список rects, где rects[i] = [r1, c1, r2, c2] — прямоугольник с левым верхним углом (r1, c1) и правым нижним (r2, c2) включительно. Каждый прямоугольник добавляет один слой краски: ко всем клеткам (r, c) с r1 ≤ r ≤ r2 и c1 ≤ c ≤ c2 прибавляется 1. Верните таблицу после того, как нанесены все прямоугольники.
Пример 1
n=3, rects=[[0, 0, 1, 2], [1, 1, 2, 1]] → [[1, 1, 1], [1, 2, 1], [0, 1, 0]]

Первый прямоугольник красит две верхние строки целиком, второй — средний столбец в строках 1 и 2. Клетка (1, 1) покрыта дважды.

Пример 2
n=2, rects=[[1, 0, 1, 0], [1, 0, 1, 0], [0, 1, 0, 1]] → [[0, 1], [2, 0]]

Клетку (1, 0) красят дважды, клетку (0, 1) — один раз.

Пример 3
n=1, rects=[[0, 0, 0, 0]] → [[1]]
Ограничения
  • 1 ≤ n ≤ 500
  • 1 ≤ len(rects) ≤ 10⁴
  • 0 ≤ r1 ≤ r2 < n
  • 0 ≤ c1 ≤ c2 < n
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый большой лёгкий квадрат СредняяСуммы по окрестностям в таблице СредняяK-й по величине XOR угла СредняяТри самых тяжёлых ромба СредняяСбалансированный квадрат Средняя
загружаем Python…
Вход
n=3, rects=[[0, 0, 1, 2], [1, 1, 2, 1]]
Ожидается
[[1, 1, 1], [1, 2, 1], [0, 1, 0]]

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