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
相关推荐
深漂的华哥19 分钟前
Ruoyi-Plus前后端分离场景下,数据加密传输sel_91 小时前
【强化学习】Hands-on Modern RL项目实践|OPD 算法完整解析Navigator_Z1 小时前
LeetCode //C - 1209. Remove All Adjacent Duplicates in String II落魄大学生之流水线上谋生计1 小时前
Java锁全面指南:从基础概念到企业级应用爱学习的小白柏3 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成码匠许师傅3 小时前
【C++ 面试真题】30. 聊聊 C++ 的互斥锁与读写锁沙盘客3 小时前
AFSIM 示例解读(03)· 六自由度飞行仿真 six_dof(下):机场运作与弹道导弹投送ShineWinsu3 小时前
对于 C++:C++14中从变量模板、泛型 Lambda 到并发与字面量的解析CHANCE V4 小时前
集合排序和流排序