原地旋转正方形矩阵

复制代码
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;
        }
    }
}
相关推荐
麻瓜code6 小时前
【JUC】并发容器:从线程不安全到阻塞队列
java
许彰午7 小时前
50-18个表单控件
java·低代码·架构
白宇横流学长7 小时前
基于springboot的个人博客系统的设计与实现【源码+文档】
java·spring boot
GreenTea8 小时前
发布 3 天登顶 HN:不生成一个字的模型 Jev,我把它的源码和黑料都扒了一遍
前端·后端·算法
白远山8 小时前
本地游戏代练源码开发实战:架构设计与核心功能实现指南
java·开发语言·架构·需求分析
庖丁解牛8 小时前
无穷小不是一个“神秘小数”,而是一场奔向 0 的过程
算法
wno7048 小时前
Spring Security添加图形验证码
java·后端·spring
曹牧8 小时前
Postman:`Content-Type` 和 `charset`
java
逆境不可逃8 小时前
Pi Agent 学习笔记:扩展如何介入工具调用
java
ZPC82109 小时前
YOLO26 识别串番茄果梗
人工智能·深度学习·算法·机器学习