方阵旋转总结
ProjectDaedalus
共 682字,需浏览 2分钟
· 2022-04-17
这里就方阵顺时针、逆时针旋转90度、180度、270度的方法进行总结
顺时针旋转90度
将方阵顺时针旋转90度,等同于逆时针旋转270度。可通过先按主对角线翻转、再垂直翻转实现
顺时针旋转270度
将方阵顺时针旋转270度,等同于逆时针旋转90度。可通过先按主对角线翻转、再垂直翻转实现
顺时针旋转180度
将方阵顺时针旋转180度,等同于逆时针旋转180度。具体可有两种方式实现:即可通过先水平翻转、再垂直翻转实现;也可通过先垂直翻转、再水平翻转实现
实践
学习过程中要善于理论联系实际。故在介绍完经验总结后,这里以LeetCode的第48题——旋转图像为例进行实践
给定一个n × n的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转90度 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像
示例1
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[[7,4,1],[8,5,2],[9,6,3]]
示例2
输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] 输出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]
Note:
n == matrix.length == matrix[i].length 1 <= n <= 20 -1000 <= matrix[i][j] <= 1000
Java实现如下所示
/**
* 翻转法: 先按主对角线翻转、再进行垂直翻转
*/
public class Solution {
public void rotate(int[][] matrix) {
if( matrix.length==1 ) {
return;
}
int n = matrix.length;
// 方阵按 主对角线进行翻转
for (int i=0; i for (int j=i+1; j int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
// 方阵进行垂直翻转
int count = n/2;
for (int i=0; i for (int j=0; j int newJ = n - 1 - j;
int temp = matrix[i][j];
matrix[i][j] = matrix[i][newJ];
matrix[i][newJ] = temp;
}
}
}
}
评论
旋转菜单
实现类似转盘电话中拨号转盘的旋转菜单效果。滑动菜单,菜单进行转动,转动的过程中,处于最前面的按钮按钮慢慢变大,处于后端的按钮变小。同样,点击转盘菜单上某个按钮,被点击的按钮会慢慢被转到最前面。由于转动
旋转菜单
0
ERP总结
1:ERP简介
简单地说:ERP是将企业所有资源:企业的三大流:物流,资金流,信息流进行一体化便利管理的管理信息系统。ERP中文释义为企业资源管理计划;英文全称Enterprise Resources Plannig,是在先进的企业管理思想的基础上,应用信息技术实现对整个企业资源的一体化管理。ERP是一种可以提供跨地区、跨部门、甚至跨公司整合实时信息的企业管理信息系统。 包括财务会计、管理会计、生产计划及管理、物料管理、销售与分销等主要功能模块,以达到效率化经营的目标。
2:MRP,MRP2及ERP原理
ERP原理:ERP是一个庞大的管理信息系统,要讲清楚ERP原理,我们首先要沿着ERP发展的四个主要的阶段,从最为基本的六十年
天心
0
Collectors.reducing总结
1. 方法签名 一个参数public static <T> Collector<T, ?, Optional<T>> reducing(BinaryOperator<T> op)参数说明BinaryOperatorop 归集操作函数 输入参数T返回T测试代码我们这里实现一个简...
_herbert
0
SWImageRotationiOS 图像旋转
SWImageRotation是一个iOSproject,可以旋转和翻转图像。特性:左旋转右旋转按角度旋转垂直翻转水平翻转保存最终图像
SWImageRotationiOS 图像旋转
0