问题标题: 酷町堂:3739

0
0
已解决
张恩泽
张恩泽
高级天翼
高级天翼

3739   矩阵旋转

题目描述 Description

输入一个n行m列的矩阵,将它顺时针旋转90度后输出。

输入描述 Input Description

第一行包含两个整数n和m,表示矩阵的行数和列数。

接下来n行,每行m个整数,相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。

输出描述 Output Description

m行,每行n个整数,为顺时针旋转90度后的矩阵。相邻两个整数之间用单个空格隔开。

样例输入 Sample Input


 

3 3
1 2 3
4 5 6
7 8 9

样例输出 Sample Output


 

7 4 1
8 5 2
9 6 3

数据范围及提示 Data Size & Hint

1≤n≤100,1≤m≤100

张恩泽在2020-04-07 20:00:19追加了内容

求思路!!!


0
已采纳
李致远
李致远
高级光能
高级光能

这题还行(我跟它死磕了1个多小时啊啊)

矩阵旋转
算法分析:
这个题规定是nm的矩阵旋转,而不是nn的矩阵旋转,观察旋转之后的矩阵发现,旋转之后的元素的列数等于原来的行数,现在的矩阵输出的元素,第i行的数据是原来矩阵的第i列对应的元素,从第一列开始的元素是原来矩阵从最后一行的元素开始的元素,故此按照规律,改变一下输出顺序即可完成矩阵的旋转

对于n*n旋转90度,逆时针,现将主对角线(\)两侧的数据交换,然后将a[i][j]与a[n-i-1][j]数据交换即可(顺指针则是将副对角线两侧数据交换,后面的数据交换不变)n*n先转置再逆序的实现

 

0
0
江齐悦
江齐悦
高级光能
高级光能

如果你有QQ或者微信我来加你。给你代码

0
我要回答