Программа Javascript для поворота элементов матрицы

Опубликовано: 2 Сентября, 2022

Дана матрица, повернуть элементы в ней по часовой стрелке.

Примеры:

Input
1    2    3
4    5    6
7    8    9

Output:
4    1    2
7    5    3
8    9    6

For 4*4 matrix
Input:
1    2    3    4    
5    6    7    8
9    10   11   12
13   14   15   16

Output:
5    1    2    3
9    10   6    4
13   11   7    8
14   15   16   12

Идея состоит в том, чтобы использовать циклы, аналогичные программе для печати матрицы в форме спирали. По очереди вращайте все кольца элементов, начиная с самого дальнего. Чтобы повернуть кольцо, нам нужно сделать следующее.
1) Переместить элементы верхней строки.
2) Переместить элементы последнего столбца.
3) Переместить элементы нижнего ряда.
4) Переместить элементы первого столбца.
Повторите описанные выше шаги для внутреннего кольца, пока есть внутреннее кольцо.

Ниже приведена реализация вышеуказанной идеи. Спасибо Gaurav Ahirwar за предложенное ниже решение.

Выход:

5 1 2 3
9 10 6 4
13 11 7 8
14 15 16 12

Временная сложность: O(max(m,n) * max(m,n))
Вспомогательное пространство: O(m*n)

Пожалуйста, обратитесь к полной статье о вращении элементов матрицы для получения более подробной информации!