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