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
相关推荐
ysu_03148 小时前
08-二叉树遍历:四种方式详解咸鱼老弟8 小时前
Speculative Decoding(投机采样):大模型"先猜后验",生成速度翻倍Bs_MoneyMagnet8 小时前
基于springboot+vue的茶铺管理系统的设计与实现 源码+文档她说..8 小时前
RabbitMQ 使用场景详解荆棘鸟智能8 小时前
AI算法持续学习与迭代怎么做?从数据闭环到灰度发布的MLOps工程实践宁渡AI大模型8 小时前
河南宁渡科技有限公司|宁渡课堂 AI 全栈面试分享,AI 应用开发高频考点汇总代码什么用8 小时前
JSON一文速通Lyyaoo.8 小时前
【二分查找】【中等】搜索二维矩阵/排序数组的第一位和最后位置/搜索旋转排序数组/旋转排序数组中的最小值土司大王9 小时前
LeetCode hot100——153.寻找旋转排序数组中的最小值:Java 二分模板与 O(log n) 分析光电的一只菜鸡9 小时前
isp中关于锐化对图像清晰度的影响