Код Senior Матрицы обновлено
Обход матрицы по спирали
Условие
Верни элементы матрицы в порядке обхода по спирали от внешнего края к центру.
Примеры
spiralOrder([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) // [1, 2, 3, 6, 9, 8, 7, 4, 5]
spiralOrder([[1, 2, 3, 4]]) // [1, 2, 3, 4]
spiralOrder([[1], [2], [3]]) // [1, 2, 3]
Как подойти
Задача не про алгоритм, а про аккуратность с границами. Повторные проверки перед третьей и четвёртой сторонами обязательны: в матрице из одной строки или одного столбца без них элементы будут добавлены дважды. Это и есть тестовые случаи, которые интервьюер подсунет.
Подсказки: 2
- Веди четыре границы и сдвигай их после каждой стороны.
- Перед проходом снизу и слева границы надо перепроверять - иначе в узкой матрице элементы задвоятся.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.