原地旋转正方形矩阵

复制代码
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;
        }
    }
}
相关推荐
文丑颜不良啊几秒前
LeetCode1181~1200题目解析
java·leetcode
释厄6234 分钟前
矢量词汇向下不向上公理即词汇归位定律——肤浅即表面
java·人工智能·算法·去中心化·1024程序员节
海绵宝宝转agent9 分钟前
Leetcode100+面经
java·笔记·学习·算法·leetcode·深度优先
会编程的吕洞宾13 分钟前
Spring Boot 镜像瘦身实战:从 450MB 瘦到 180MB
java·后端·spring
Shaoshing15 分钟前
LeetCode100 283.移动零
java·数据结构·算法·leetcode
海绵宝宝转agent15 分钟前
LeetCode100个人题解+java面经总结
java·开发语言·笔记·学习·算法
文丑颜不良啊18 分钟前
LeetCode1201~1220题目解析
java·leetcode
香蕉大香蕉(06敬畏市场)20 分钟前
高频八股 · JVM(7):方法区、元空间与字符串常量池
java·jvm·ai·博客·八股·大厂实习
LazyHunter924 分钟前
Spring Boot 3 微服务实践指南
java·spring boot
zzu123zsw28 分钟前
从 SPI 契约到独立 ClassLoader 隔离:Spring Boot 插件热插拔架构设计与内存泄露防御
java·spring boot·后端·架构设计