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
0