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
相关推荐
要开心吖ZSH几秒前
定时任务是用外部调度(xxl-job)还是本地化( @Scheduled)更香?以号源刷新任务为例?nagualky1232 分钟前
GPT-4 系列退役在即:一套可回滚的模型迁移验收法今天的砖头有点烫手啊2 分钟前
Java 8 Stream 原理拆解:惰性求值与并行流陷阱垆边人似月.4 分钟前
华为题:无重复字符的最长子串变种starzy199010 分钟前
Flink 任务调度 Graph 源码深度剖析:从 StreamGraph 到 ExecutionGraph 的三层演进糖果豆豆11 分钟前
灾难性遗忘不是"新旧打架"——旧知识记不住,是因为它没长成"环"Eyfcom12 分钟前
〖实战〗快运系统 Oracle 性能优化:从“能用”到“扛住双11”的 Java + Spring Boot 实战垆边人似月.12 分钟前
华为题:任务调度垆边人似月.13 分钟前
华为题:编辑距离会灭火的程序员14 分钟前
大模型部署硬件资源计算指南:从显存估算到显卡选型