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
相关推荐
逻辑驱动的ken7 分钟前
Java高频考点场景题24绛橘色的日落(。・∀・)ノ12 分钟前
机器学习之评估与偏差方差分析兔小盈17 分钟前
多线程-(五)线程安全之内存可见性消失的旧时光-194319 分钟前
C语言对象模型系列(四)《Linux 内核里的 container_of 到底是什么黑魔法?》—— 一篇讲透 Linux 内核的“对象模型”核心技巧CeshirenTester44 分钟前
LangChain的工具调用 vs 原生Skill API:性能差在哪儿?yaoxin5211231 小时前
400. Java 文件操作基础 - 使用 Buffered Stream I/O 读取文本文件Fox爱分享1 小时前
字节二面:10亿数据毫秒级查手机尾号后4位,答不出“异构索引”直接挂?6190083361 小时前
win idea 控制台中文乱码AI_Ming1 小时前
从0开始学AI:层归一化,原来是这回事!折哥的程序人生 · 物流技术专研1 小时前
《Java面试85题图解版(二)》进阶深化上篇:并发编程 + JVM