方式一:这种方法是从右下角至上开始读取,然后依次向左读取,但是时间复杂度过高,建议看方式二

# 把对称矩阵顺时针旋转90度
# 该法问从左下角往上读取,再重新构造矩阵,时间复杂度叫高
matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
# 旋转为# [[7,4,1],#  [8,5,2],#  [9,6,3]]
lt = []
le = 0  # len(matrix)def printInfo(mat):i = 0while i < le:j = 0while j < le:if j == le-1:print(mat[i][j], end="")else:print(mat[i][j], end="  ")j += 1print()i += 1def change_matrix(mat):rotating_matrix = [[1 for j in range(le)] for i in range(le)]i = le - 1j = 0for x in range(le * le):  # 每次从左向右从下往上读取即可if i == -1:i = le - 1j = j + 1lt.append(mat[i][j])i = i - 1ind = 0for k in range(0, le):for y in range(0, le):r = lt[ind]rotating_matrix[k][y] = rind += 1return rotating_matrixdef input_matrix(mat):for i in range(0, le):mat[i] = input().split(" ")return matif __name__ == '__main__':le = int(input())matrix = [[0] * le] * lematrix = input_matrix(matrix)rotating_matrix = change_matrix(matrix)printInfo(rotating_matrix)

方式二:先主对角(左上角-右下角)翻转,再进行水平(左右)翻转即可

# 先对角线交换,再垂直交换
# [[2,3,4],
# [5,6,7],
# [8,9,1]]
# 翻转90度为
# [[8,5,2],
# [9,6,3],
# [1,7,4]]
# 1先对角线翻转为
# [[2,5,8],
# [3,6,9],
# [4,7,1]]
# 2再水平翻转
# [[8,5,2],
# [9,6,3],
# [1,7,4]]
# 4*4
# [[8,5,2,9],
#  [9,6,3,8],
#  [1,7,4,4],
#  [1,7,4,4]]# 几层矩阵值,矩阵
def rotatin(n, matrix):mat = matrix# 对角线翻转# 0,0 0,1<=>1,0 0,2<=>2,0for i in range(n):for j in range(n - i):mat[i][j + i], mat[j + i][i] = mat[j + i][i], mat[i][j + i]# 水平翻转for x in range(n):for y in range(n // 2):  # 第一个与倒数第一个交换mat[x][y], mat[x][-y - 1] = mat[x][-y - 1], mat[x][y]return matif __name__ == '__main__':n = int(input("输入矩阵数:"))# matrix = [[2, 3, 4],#           [5, 6, 7],#           [8, 9, 1]]matrix = []for i in range(n):lt = list(map(int, input("第" + str(i + 1) + "行矩阵:").split(" ")))matrix.append(lt)matr = rotatin(n, matrix)for i in range(n):for j in range(n):if j == n - 1:print(matr[i][j], end="")else:print(matr[i][j], end="  ")print()

运行效果

Python 对称矩阵顺时针旋转90度相关推荐

  1. python顺时针旋转_Python之二维数组N*N顺时针旋转90度

    需求:把一个二维数组顺时针旋转90度,现实数据的替换. 比如把4*4的二维数组顺时针旋转90度 原始数据是一个嵌套列表:[['A', 'B', 'C', 'D'], ['A', 'B', 'C', ' ...

  2. 编写程序python、实现将矩阵顺时针旋转90°_Java实现矩阵顺时针旋转90度的示例...

    实现矩阵的转置较为容易,只需要将纵横下标互换即可.实现矩阵旋转稍微麻烦一点. 解题思路: 矩阵转换90度,则原矩阵的纵下标转变为新矩阵的横下标:原矩阵的横下标转变为新矩阵的纵下标,并且顺序相反. pu ...

  3. LeetCode——Rotate Image(二维数组顺时针旋转90度)

    问题: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...

  4. 【Android RTMP】NV21 图像旋转处理 ( 图像旋转算法 | 后置摄像头顺时针旋转 90 度 | 前置摄像头顺时针旋转 90 度 )

    文章目录 安卓直播推流专栏博客总结 一. 后置摄像头顺时针旋转 90 度 二. 前置摄像头顺时针旋转 90 度 三. NV21 格式图像旋转代码 安卓直播推流专栏博客总结 Android RTMP 直 ...

  5. 【Android RTMP】NV21 图像旋转处理 ( 问题描述 | 图像顺时针旋转 90 度方案 | YUV 图像旋转细节 | 手机屏幕旋转方向 )

    文章目录 安卓直播推流专栏博客总结 一. NV21 图像格式与 Camera图像传感器方向问题 二. NV21 图像格式视频旋转 1. 图像旋转问题及解决方案 ( 顺时针旋转 90 度 ) 2. NV ...

  6. node 16位 转24位_同时将24位和32位BMP图像顺时针旋转90度

    上一次我们将24位的皮卡丘旋转了90度,但是后来改需求了...要求把32位的.bmp文件也能够旋转90度.上次就懵逼的我继续懵逼,只好继续转向CSDN求助. 浏览了各种求助帖(还找到了数年前的信科大一 ...

  7. Java:实现将方阵中的元素顺时针旋转90度算法(附完整源码)

    Java:实现将方阵中的元素顺时针旋转90度算法 package com.williamfiset.algorithms.linearalgebra;public class RotateSquare ...

  8. 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转

    有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度. 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转 ...

  9. 矩阵顺时针旋转90度

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! ---- ...

最新文章

  1. CSS继承选择器与包含选择器的比较
  2. 比特币现金(BCH)支付进入DIY时代
  3. jQuery实现点击开关图片切换
  4. 微信浏览器打开网页被拦截了?Mindjump快速解决微信屏蔽网址用户打不开的难题...
  5. java五子棋课程设计_JAVA课程设计(五子棋)021
  6. CRM product ID format相关配置
  7. 以编程方式访问Java基本类型的大小
  8. Java Integer类shortValue()方法与示例
  9. STM32 - 高级定时器的设定 - 基础-05 - 输出波形控制 -Complementary outputs and dead-time insertion 相位调整@互补输出和死区控制
  10. html table control,HtmlTable.HtmlTableRowControlCollection
  11. Win32 Application和Win32 Console Application区别
  12. 降水小波分析matlab程序,小波分析MATLAB程序
  13. YUV420->RGB888格式转换的CPP实现
  14. Excel表格样式CellStyle的DataFormat可选值
  15. 矩阵开根号,工作矩阵平方根
  16. 4-7-4 校验ISBN-10编码 (10 分)
  17. 对象赋值-深拷贝-浅拷贝
  18. 视频剪辑,就上这5个网站找素材,免费可商用。
  19. mac os 直接打开html文件,macos – 在Mac OS X上打开磁盘设备文件以进行写访问
  20. 克隆一个自己的 AI 来上网课,

热门文章

  1. 这款耳机亲测,性价比堪比 AirPods
  2. Jenkins - 札记 - 无法连接仓库:Command “git ls-remote -h -- http://git.govmade.cn/shanghai/demo.git HEAD“...
  3. 项目八学好英语网html,学好英语的八种方法-英语文章阅读-大耳朵英语 - 免费在线英语学习 口语练习 四级听力资料 在线翻译 网络课堂 英语社区...
  4. Python批量采集无水印短视频内容
  5. C++编写木马全过程
  6. 中鑫吉鼎|保本理财产品的优缺点分析对比
  7. origin matlab 数据,数据拟合确定参数,可以用matlab、origin等软件,求结果。
  8. 二零二二,闯北十年,及时行乐,此生尽兴
  9. 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例52
  10. 2022年全球市场介质浆料总体规模、主要生产商、主要地区、产品和应用细分研究报告