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
相关推荐
吃炒鸡蛋4 分钟前
反射更新字段little~钰9 分钟前
可持久化线段树和标记永久化Pacify_The_North19 分钟前
【C++11(二)】可变参数模板和 lambda表达式是梦终空26 分钟前
计算机毕业设计248—基于Java+Springboot+vue的博物馆预约系统(源代码+数据库+开发文档)Tao____30 分钟前
支持mqtt、tcp、udp、websocket、http协议的物联网平台獭.獭.33 分钟前
C++ -- 二叉搜索树TOYOAUTOMATON33 分钟前
自动化工业夹爪poggioxay38 分钟前
JAVA零基础入门知识3(持续更新中)im_AMBER44 分钟前
Leetcode 67 长度为 K 子数组中的最大和 | 可获得的最大点数清晓粼溪1 小时前
SpringMVC-01:基础知识