国内哪些网站是php做的,wordpress远程 媒体库,js跳转网站,互动交流平台给你一幅由 N N 矩阵表示的图像#xff0c;其中每个像素的大小为 4 字节。请你设计一种算法#xff0c;将图像旋转 90 度。
不占用额外内存空间能否做到#xff1f; 代码一 思路#xff1a;对于矩阵中第 ii 行的第 jj 个元素#xff0c;在旋转后#xff0c;它出现在倒数…给你一幅由 N × N 矩阵表示的图像其中每个像素的大小为 4 字节。请你设计一种算法将图像旋转 90 度。
不占用额外内存空间能否做到 代码一 思路对于矩阵中第 ii 行的第 jj 个元素在旋转后它出现在倒数第 ii 列的第 jj 个位置。
class Solution {public void rotate(int[][] matrix) {int n matrix.length;int[][] matrix_new new int[n][n];for(int i 0;in;i){for(int j 0;jn;j){matrix_new[j][n-i-1] matrix[i][j];}}for(int i 0;in;i){for(int j 0;jn;j){matrix[i][j] matrix_new[i][j];}}}
}代码二 思路 顺时针翻转90° 先水平翻转再主对角线翻转
逆时针翻转90° 先垂直翻转再主对角线翻转
class Solution {public void rotate(int[][] matrix) {int n matrix.length;int temp 0;//水平翻转for(int i 0;in/2;i){for(int j 0;jn;j){temp matrix[i][j];matrix[i][j] matrix[n-i-1][j];matrix[n-i-1][j] temp;}}//主对角线翻转for(int i 0;in;i){for(int j 0;ji;j){temp matrix[i][j];matrix[i][j] matrix[j][i];matrix[j][i] temp;}}}
}