Ctrl K

Чтение по спирали

Средняя
Дана прямоугольная таблица grid из m строк и n столбцов. Прочитайте все её числа по спирали: начните с левого верхнего угла, идите вправо вдоль верхней строки, затем вниз по правому краю, влево по нижней строке, вверх по левому краю — и так далее, по часовой стрелке закручиваясь к центру. Каждую клетку посещаем ровно один раз. Верните числа в порядке обхода.
Пример 1
grid=[[5, 1, 8], [2, 9, 4]] → [5, 1, 8, 4, 9, 2]

Верхняя строка слева направо: 5, 1, 8; вниз по правому краю: 4; нижняя строка справа налево: 9, 2.

Пример 2
grid=[[1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, 9, 8, 7]] → [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

Числа расставлены так, что при обходе по спирали идут подряд от 1 до 16.

Пример 3
grid=[[-3], [0], [7]] → [-3, 0, 7]

В одном столбце спираль просто идёт сверху вниз.

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

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