Ctrl K

Зигзаг по диагоналям

Средняя
Робот-сканер считывает прямоугольную таблицу grid размером m × n по диагоналям, двигаясь змейкой. Он начинает в левом верхнем углу и идёт по диагоналям, параллельным побочной (у клеток одной такой диагонали одинакова сумма строка + столбец). Первую диагональ он проходит снизу вверх (вправо-вверх), вторую — сверху вниз (влево-вниз), третью — снова снизу вверх, и так далее, пока не дойдёт до правого нижнего угла. Верните список значений в том порядке, в каком их прочитал робот.
Пример 1
grid=[[5, 1, 9], [2, 8, 4]] → [5, 1, 2, 8, 9, 4]

Сначала 5, затем вниз-влево: 1, 2. Потом вверх-вправо: 8, 9. Последняя диагональ идёт вниз, в ней одна клетка — 4.

Пример 2
grid=[[3], [7], [6]] → [3, 7, 6]

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

Пример 3
grid=[[-4, 10]] → [-4, 10]
Ограничения
  • 1 ≤ m, n
  • m · n ≤ 10⁴
  • все строки одной длины
  • -10⁵ ≤ grid[i][j] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЧтение по спирали СредняяКвадрат, пронумерованный по спирали СредняяСледующий шаг колонии клеток СредняяТри в ряд до упора СредняяСпираль наружу Средняя
загружаем Python…
Вход
grid=[[5, 1, 9], [2, 8, 4]]
Ожидается
[5, 1, 2, 8, 9, 4]

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