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
相关推荐
坐吃山猪8 小时前
【多线程】ThreadPool线程池参数说明靠沿8 小时前
贪心算法专题(三)evans在进步8 小时前
Java 常用设计模式(二):装饰器、适配器、责任链、模板方法、策略与观察者super大力张8 小时前
MOE基于结构的药物设计(七):Ligand R-Vectors——如何判断配体可以从哪里继续生长?jvmind_dev8 小时前
频繁 new JedisCluster 之后,对象池为什么回不去了?AKA__Zas9 小时前
文件 I/O(速通版学长毕业设计9 小时前
基于SpringBoot的咖啡馆管理系统的设计与实现(源码+文档+讲解视频)骇客野人9 小时前
SpringBoot业财一体化系统设计和落地实施方案学长毕业设计9 小时前
基于SpringBoot的教学资源推荐系统的设计与实现(源码+文档+讲解视频)名字还没想好☜9 小时前
Java Cleaner 实战:替代废弃的 finalize() 做堆外资源清理,以及强引用导致永不回收的坑