137 читали · 4 года назад
Как повернуть матрицу Python
Jan 3, 2022 Для меня это было интересным заданием. Спешу поделиться своими размышлениями) Дана матрица размером x на y: 1 2 3 4 5 6 2 3 4 5 6 7 3 4 5 6 7 8 4 5 6 7 8 9 Нужно её повернуть по часовой стрелке на заданное количество шагов. Нарисовал рисунок со стрелочками, бросилось в глаза, что в любой матрице образуются круги вращения. Если бы каждый круг как-то поместить в список, то с вращением стало бы всё просто. А в конце вращения опять преобразовать списки в круги матрицы. В итоге получился следующий алгоритм: # подсчитываем количество кругов '''функция циклом переводим круги в строки, и...
11,6 тыс читали · 5 лет назад
Задача спирального заполнения матрицы на Python #3: Вторая и моя реализации
Предыдущие части: Подготовка, Первая реализация Второй метод почти не отличается от первого, но на мой взгляд более изящен. Если ранее мы использовали 4 отдельных цикла для обхода периметра матрицы, а затем еще 4 цикла для внутренней части матрицы и т.д., то здесь у нас будет непрерывное движение по спирали в одном-единственном цикле от начала до конца. Начнётся этот цикл точно так же: от первой клетки мы заполним строку числами по горизонтали, а дальше? А дальше мы продолжим этот же самый цикл, но поменяем направление движения...