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
相关推荐
budingxiaomoli21 分钟前
Spring统一功能处理Flynn Liang2 小时前
可观测性与成本治理:一次对话的 17 个观测点金銀銅鐵2 小时前
带您看懂字节码指令(三):同一行加法,为什么有四种指令Code_Solitude5 小时前
C语言动态内存 + 柔性数组 + 数组名退化上海潭龙东海科技有限公司5 小时前
客运站管控之动态孪生技术方案(新增一屏管控模块文丑颜不良啊6 小时前
LeetCode2821~2840题目解析apcipot_rain7 小时前
C++转Java日记(10)简 洁 冬冬7 小时前
泛型方法写法全面辨析:从「能编译」到「能跑」到「能用」YLCHUP8 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛