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
相关推荐
古法安卓9 小时前
Android-日志系统源码解析地平线开发者9 小时前
【模型轻量化专题】衡量模型轻量性的指标小夏coding11 小时前
从"一把梭"到"精妙拆解" —— 滑动窗口计时框架的设计演进MacroZheng12 小时前
同事问我:"Claude Code经常失忆,不怕它把项目搞炸?",我:"怕,三个Markdown文件给它装个永不丢失的外置大脑!"学习星球13 小时前
OFDM技术精讲:正交性推导、循环前缀原理与80行Python链路仿真(附实测数据)十年Java程序媛13 小时前
深度实战:JDK21 虚拟线程 + HikariCP 生产正确配比、坑点、监控全套xiaoqiMikko13 小时前
有人在搜一个不存在的 Tomcat 版本用户31268748772016 小时前
ConcurrentHashMap 怎么保证线程安全?从分段锁到 CAS+synchronizedvipxieliang17 小时前
ValidX vs Apache Commons Validator:功能与性能对比SimonKing17 小时前
升级Spring Boot 4后,从 Jackson 2 到 3,到底有哪些变化