3. 乾坤圈降维度 - 旋转矩阵(坐标映射推演)
3. 乾坤圈降维度 - 旋转矩阵(坐标映射推演)
哪吒在数据修仙界中继续他的修炼之旅。这一次,他来到了一座巨大的迷宫,迷宫的入口处有一块巨大的石碑,上面刻着一道难题:
「欲破此迷宫,需旋转乾坤圈,降维矩阵,映射坐标。」
哪吒抬头望去,只见迷宫的墙壁上闪烁着一个矩阵的光芒:
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
石碑上还有一行小字:“将矩阵顺时针旋转90度,方能开启迷宫之门。”
哪吒心中一动,他明白这是一道关于矩阵旋转的难题。他深吸一口气,开始思考如何解决这个问题。
暴力解法:乾坤圈的初次尝试
哪吒心想:“如果要旋转矩阵,最直接的方法是先创建一个新的矩阵,然后逐个元素地移动。”他催动乾坤圈,尝试将矩阵中的每个元素移动到新的位置。
他开始动手,首先确定了旋转后的矩阵大小,然后逐行逐列地将元素从原矩阵复制到新矩阵中。乾坤圈在他的手中旋转,矩阵中的数字也跟着移动。
void rotateMatrix(vector<vector<int>>& matrix) {
int n = matrix.size();
vector<vector<int>> rotated(n, vector<int>(n));
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
rotated[j][n - 1 - i] = matrix[i][j];