有一副由NxN矩阵表示的图像

有一副由NxN矩阵表示的图像,这里每一个像素用一个int表示,算法

  • 请编写一个算法,在不占用额外内存空间的状况下(即不使用缓存矩阵),将图像顺时针旋转90度。

给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。缓存

测试样例:
[[1,2,3],
 [4,5,6],
 [7,8,9]],3
返回:[
[7,4,1],
[8,5,2],
[9,6,3]]测试

答案:
首先上下翻转,再按照主对角线翻转内存

 1 2 3                 7 8 9            7 4 1方法

 4 5 6    —>       4 5 6  --->    8 5 2移动

 7 8 9                 1 2 3            9 6 3像素

方法2:

  • 一圈一圈转换,每一圈都是向右移动固定大小的位置
相关文章
相关标签/搜索