Ссылка: https://leetcode.com/problems/spiral-matrix/description/

Учитывая матрицу из m x n элементов (m строк, n столбцов), вернуть все элементы матрицы в порядке спирали.

Пример 1:

Ввод:
[
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]< br /> ]
Вывод: [1,2,3,6,9,8,7,4,5]

Пример 2:

Ввод:
[
[1, 2, 3, 4],
[5, 6, 7, 8],
[9,10 ,11,12]
]
Вывод: [1,2,3,4,8,12,11,10,9,5,6,7]

Первая мысль

Моя первая мысль заключается в том, что я могу использовать симуляцию для решения этой проблемы, двигаться в одном направлении, пока не упрусь в стены или что-то, что уже посетило. Но проблема в том, что вам нужно использовать дополнительную матрицу для хранения того, посещается ли место или нет.

Вторая мысль

На самом деле мы можем подсчитать, сколько шагов нам нужно сделать в каждом направлении. Так что нам не нужно каждый раз проверять, попали ли мы в стену или во что-то еще.