python之n*n矩阵顺时针旋转90度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之n*n矩阵顺时针旋转90度相关的知识,希望对你有一定的参考价值。

  先设计思路,以4*4矩阵为例,不难发现其实如果把下列同色的行和列交换,其实就能达到目标

技术分享

 

 

 

 

 

 

 

不难发现,实现有如下规律:

  i = 0
    j = 1,2,3
  i = 1
    j = 2 ,3
  i= 2
    j = 3

再将data[i][j] 和data[j][i] 交换即可,而涉及到交换就会想到,有个引入第三个变量来实现交换的方式,于是实现代码如下:

data = [[i for i in range(4)] for i in range(4)] #定义一个4*4的数组
for i in range(len(data)-1):
	for j in range(len(data[i])):
		if j > i :
			tmp = data[i][j]
			data[i][j] = data[j][i]
			data[j][i] = tmp 

  你没看错,这样就已经搞定了,是不是很神奇!如果想实现n*n的 ,修改下代码即可,这里我就不补充了。

    

  






以上是关于python之n*n矩阵顺时针旋转90度的主要内容,如果未能解决你的问题,请参考以下文章

Leecode-48:旋转图像(矩阵顺时针旋转90度)

算法总结之 将正方形矩阵顺时针转动90度

方阵原地顺时针旋转90度

给定一个 n × n 的二维矩阵表示一个图像, 将图像顺时针旋转 90 度js实现

Python数据结构:BF算法匹配括号回文链表生成螺旋矩阵移除列表元素计算后缀表达式的值顺时针旋转n维矩阵90度折半查找

将下面矩阵分别按顺时针90度,逆时针90度,和旋转180度,打印出来