一级做a免费体验区不用下载网站,做网站交易装备可以么,公司起名生成器,ps个人网站制作流程LeetCode 48. 旋转图像
题目描述
给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
思路
思路#xff1a;再次拜见K神#xf…LeetCode 48. 旋转图像
题目描述
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
思路
思路再次拜见K神其实旋转图像就是四个角不断换但是换的过程中会有一个问题一个元素会覆盖另一个元素那我们只需要用tmp存一个角的元素剩下覆盖就好了 只需要交换以上红框的元素就可以了。所以处理范围是 0imatrix.length/2; 0j(matrix.length1)/2.
代码
class Solution {public void rotate(int[][] matrix) {// 只需要对满足以下范围的格子做操作// 0 i matrix.length / 2; 0 j (matrix.length 1) / 2弄不清楚就画个4*4和5*5的格子看一下就行int n matrix.length;for (int i 0; i n / 2; i) {for (int j 0; j (n 1) / 2; j) {// 四个角转int tmp matrix[i][j];matrix[i][j] matrix[matrix.length - 1 - j][i];matrix[n - 1 - j][i] matrix[n - 1 - i][n - 1 - j];matrix[n - 1 - i][n - 1 - j] matrix[j][n - 1 - i];matrix[j][n - 1 - i] tmp;}}}
}