
一个使用Java语言描述的矩阵旋转的例子
运行结果
发布日期:2021-05-07 23:35:38
浏览次数:13
分类:原创文章
本文共 1335 字,大约阅读时间需要 4 分钟。
一个把矩阵旋转输出的方法就是直接按照旋转以后的规律遍历输出
但有时候需要把矩阵旋转一工后续使用,如果不创建一个新的矩阵直接做原有矩阵基础上做旋转该如何操作呢
一个用java实现的算法
import edu.princeton.cs.algs4.StdIn;import edu.princeton.cs.algs4.StdOut;public class PrintMatrix { public static void main(String[] args) { int N = Integer.parseInt(args[0]); int[][] a = new int[N][N]; for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) a[i][j] = StdIn.readInt(); transMatrix(a); printMatrix(a); } public static void transMatrix(int[][] a) { int N = a.length; for (int i = 0; i < N / 2; i++) for (int j = i; j < N - 1 - i; j++) circleTrans(a, i, j); } public static void printMatrix(int[][] a) { int N = a.length; for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) StdOut.printf((j == N - 1) ? "%4d\n" : "%4d", a[i][j]); } private static void circleTrans(int[][] a, int i, int j) { int N = a.length; int temp = a[i][j]; for (int m = 0; m < 3; m++) { int x = N - 1 - j; int y = i; a[i][j] = a[x][y]; i = x; j = y; } a[i][j] = temp; } }
运行结果
Press ENTER or type command to continue
1 2 3
3 4 6
7 8 9
7 3 1
8 4 2
9 6 3
时间复杂度是 O(N^2)空间复杂度是 O (1)
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月27日 01时48分54秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Javascript中String支持使用正则表达式的四种方法
2021-05-08
2021年判断浏览器最新写法,你都掌握了吗?
2021-05-08
简易版Http请求工具
2021-05-08
【法律】如何保障企业的合法权益:保密协议模板
2021-05-08
【IoT】 产品设计之结构设计:PMMA(亚克力)板、PC耐力板、PS有机板与MS板区别
2021-05-08
【IoT】蓝牙BLE基础:CC254x通信系列之模拟SPI协议
2021-05-08
【IoT】TI BLE CC2541 串口控制蓝牙详解
2021-05-08
【企业】走近华为,微观世界
2021-05-08
【产品】项目管理的五个过程和九大知识领域之二
2021-05-08
【项目管理】项目管理流程浅析
2021-05-08
【企业】韬盛和夫六精进
2021-05-08
【Tool】如何使用 Uniflash 烧写 WIFI 芯片 CC3200
2021-05-08
html2canvas vue页面截图生成图片地址
2021-05-08
copy_{to, from}_user()的思考
2021-05-08
Web前端安全策略之CSRF的攻击与防御
2021-05-08
5分钟快速了解下CSS4 color-adjust属性
2021-05-08
纯客户端页面关键字搜索高亮jQuery插件
2021-05-08
秋月何时了,CSS3 border-radius知多少?
2021-05-08
linux运维中常用的命令
2021-05-08