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
相关推荐
归去_来兮33 分钟前
拉格朗日插值算法原理及简单示例顺风尿一寸3 小时前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程程途知微3 小时前
JVM运行时数据区各区域作用与溢出原理华仔啊5 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解千寻girling7 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》xiaoye20187 小时前
Lettuce连接模型、命令执行、Pipeline 浅析颜酱10 小时前
一步步实现字符串计算器:从「转整数」到「带括号与优化」beata11 小时前
Java基础-18:Java开发中的常用设计模式:深入解析与实战应用Seven9711 小时前
剑指offer-81、⼆叉搜索树的最近公共祖先雨中飘荡的记忆1 天前
保证金系统入门到实战