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
相关推荐
老师我太想进步了20266 分钟前
【数据结构-6】算法美学之单链表(1)SimonKing20 分钟前
Workbuddy太占C盘空间了,写个迁移工具迁走10G的数据Hvitur1 小时前
Java - Lambda希望我万事顺遂1 小时前
力扣hot100-滑动窗口最大值꧁细听勿语情꧂2 小时前
二叉树余题,排序、直接插入排序、希尔排序是main不是漫2 小时前
【双指针|LeetCode1089 复写零】巧用逆向思路,破解原地覆盖陷阱apcipot_rain6 小时前
C++转Java日记(06)金銀銅鐵10 小时前
带您看懂字节码指令(一):一帧里有什么专注仿真11 小时前
知识问答模型用到的算法集详解及代码实例