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
相关推荐
逻辑君14 小时前
物理学研究报告【20260001】ch.ju14 小时前
Java Programming Chapter 3——Default value of arrayAI科技星14 小时前
算法联盟·全域数学公理体系下黑洞标量毛发与LVK引力波O4全维理论、求导、证明、计算、验证、分析谙弆悕博士14 小时前
【附C语言源码】C语言 栈结构 实现及其扩展操作bandaoyu14 小时前
【CUDA】store/load普通访存 vs 非临时(Non-Temporal)访存YuanDaima204814 小时前
图论基础原理与题目说明AI人工智能+电脑小能手14 小时前
【大白话说Java面试题 第53题】【JVM篇】第13题:JVM采用什么算法判断一个对象是否需要被回收?逍遥德14 小时前
常见的任务调度框架介绍jiayong2314 小时前
Memory 写入、检索与纠错机制:让 Agent 记住,也让它忘对小赵不会秃头14 小时前
数据结构Day 06:线性结构、库操作及 Makefile 完整学习笔记