原地旋转正方形矩阵

复制代码
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;
        }
    }
}
相关推荐
vx_Biye_Design6 小时前
springboot旅游管理系统18006-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·django·课程设计
Wang's Blog6 小时前
Java 中间件之 RabbitMQ 快速入门: 简单队列模型快速入门
java·中间件·java-rabbitmq
有毒的教程6 小时前
Dev-C++ 避免爆栈(Stack Overflow)完整方案
c++·算法·深度优先
骇客野人6 小时前
Java 开发组件大全覆盖后端主流技术栈(基础、Web、ORM、中间件、微服务、安全、工具、测试、运维、信创适配常用组件)
java·前端·中间件
在所不辞兄6 小时前
刚性问题误差容限设置技巧
深度学习·神经网络·算法·机器学习
数智工坊6 小时前
视觉SLAM第10讲|后端优化(下):位姿图优化、滑动窗口与图优化工程实践
人工智能·深度学习·线性代数·矩阵
啊啊啊啊啊!!!!6 小时前
unordered_map和unordered_set的使用
算法
2401_888859717 小时前
STM32H733 MPU、AXI、FMC学习
java·开发语言·stm32·spring
数智工坊7 小时前
视觉SLAM第13讲|工程落地:双目视觉里程计系统架构设计与性能优化
人工智能·深度学习·线性代数·性能优化·矩阵·系统架构·机器人
java_nnnn7 小时前
LeetCode刷题双指针(快乐数+盛最多水的容器)Java
算法·leetcode·职场和发展