public class test28 {
public static void rotate(int[][] matrix){
int a =0;
int b =0;
int c = matrix.length-1;
int d = matrix[0].length-1;
while (a < c){//由于是正方形,所以行越界列一定越界
rotateEdge(matrix , a++ , b++ , c-- ,d--);
}
}
public static void rotateEdge(int[][] m, int a, int b, int c,int d){
int tmp = 0;
for(int i =0 ; i < d-b ;i++){//有多少组次
//m[a][b+i]上面一组
//m[a+i][d]右边一组
//m[c][d-i]下面一组
//m[c-i][b]左边一组
//然后不断组与组变换解决
tmp = m[a][b+i];
m[a][b+i] = m[c-i][b];
m[c-i][b] = m[c][d-i];
m[c][d-i] = m[a+i][d];
m[a+i][d] =tmp;
}
}
}
原地旋转正方形矩阵
听风客12024-08-06 9:40
相关推荐
小雉系统1 小时前
BcoreOS安全通信架构:FsSession 抗算法后门安全设计金銀銅鐵1 小时前
带您看懂字节码指令(二):空循环里有什么吴名氏.3 小时前
Java转AI Agent教程(第十三周)混合检索与重排.痞老板.4 小时前
java ee--多线程(进阶)深入云栈5 小时前
Netty 4.2.x 源码深度解析 (二十三):ByteBuf 核心设计 —— 索引、类型与零拷贝唐墨1235 小时前
linux kernel 比较数据大小的宏定义拂拉氏6 小时前
【知识讲解-题目讲解】 统计满足K约束的子字符串数量2 (滑动窗口+前缀和+二分查找+分析)wang_shu_mo_ran6 小时前
MyBatis 从入门到进阶(一)量化分析码农8 小时前
股票历史数据的复权参数对照:多级别返回的字段与数值差异