Ctrl K

Разнообразие по обе стороны диагонали

Средняя
Дана таблица grid размером m × n. Через каждую клетку проходит диагональ, идущая сверху-слева вниз-вправо. Для клетки (r, c): - before — сколько **различных** значений стоит на её диагонали выше и левее (клетки (r-1, c-1), (r-2, c-2), …); - after — сколько различных значений стоит на её диагонали ниже и правее ((r+1, c+1), (r+2, c+2), …). Сама клетка не учитывается ни там, ни там. Верните таблицу того же размера, где в клетке (r, c) записано |before − after|.
Пример 1
grid=[[4, 4, 2], [7, 4, 9], [3, 7, 4]] → [[1, 1, 0], [1, 0, 1], [0, 1, 1]]

Клетка (0, 0): сверху-слева ничего нет (0), снизу-справа значения 4 и 4 — одно различное, |0 - 1| = 1. Клетка (1, 1): сверху-слева {4}, снизу-справа {4}, ответ 0. Клетка (2, 2): сверху-слева 4 и 4, одно различное, снизу-справа пусто — ответ 1.

Пример 2
grid=[[5, 6, 8, 5]] → [[0, 0, 0, 0]]

В таблице одна строка: у каждой клетки диагональ состоит только из неё самой, поэтому везде 0.

Пример 3
grid=[[1, 2], [3, 1], [2, 3]] → [[1, 0], [1, 1], [0, 1]]
Ограничения
  • 1 ≤ m, n ≤ 50
  • все строки одной длины
  • 1 ≤ grid[i][j] ≤ 50
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСудоку без конфликтов СредняяНулевые кресты СредняяПроизведение разреженных матриц СредняяОдинокие тёмные пиксели СредняяТёмные пиксели в строках-близнецах Средняя
загружаем Python…
Вход
grid=[[4, 4, 2], [7, 4, 9], [3, 7, 4]]
Ожидается
[[1, 1, 0], [1, 0, 1], [0, 1, 1]]

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