码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-07-08 11:21:28      阅读:467      评论:0      收藏:0      [点我收藏+]

标签:一个   oat   矩阵   规律   交换   顺时针   bsp   pre   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度

标签:一个   oat   矩阵   规律   交换   顺时针   bsp   pre   90度   

原文地址:http://www.cnblogs.com/xjw-gjq/p/7135946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!