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 小时前
数字格式化陷阱:如何优雅处理 NumberFormatException孔明click332 小时前
Sa-Token v1.45.0 发布 🚀,正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件适配有意义2 小时前
深度拆解分割等和子集:一维DP数组与倒序遍历的本质程序猿阿越2 小时前
Kafka4源码(二)创建Topic悟空码字2 小时前
Spring Boot 整合 MongoDB 最佳实践:CRUD、分页、事务、索引全覆盖省长2 小时前
Sa-Token v1.45.0 发布 🚀,正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件适配NE_STOP3 小时前
MyBatis-动态sql与高级映射后端AI实验室3 小时前
我把同一个需求分别交给初级程序员、高级程序员和AI,结果让我沉默了sTone873753 小时前
web后端开发概念: VO 和 PO用户726876103373 小时前
解放双手的健身助手:基于 Rokid AR 眼镜的运动计时应用