Ссылка: 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]
Первая мысль
Моя первая мысль заключается в том, что я могу использовать симуляцию для решения этой проблемы, двигаться в одном направлении, пока не упрусь в стены или что-то, что уже посетило. Но проблема в том, что вам нужно использовать дополнительную матрицу для хранения того, посещается ли место или нет.
Вторая мысль
На самом деле мы можем подсчитать, сколько шагов нам нужно сделать в каждом направлении. Так что нам не нужно каждый раз проверять, попали ли мы в стену или во что-то еще.