题目
有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。
给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。
解法
1.原矩阵第一列的i是新矩阵第一行的j -> output[][j] == mat[][i];
2.然后将原矩阵第一列的j减至0,推导出规律 i = n-1-j
具体代码实现如下:
import java.util.*;
public class Rotate {
public int[][] rotateMatrix(int[][] mat, int n) {
// write code here
int[][] output = new int[n][n];
for(int i = 0;i < n;i++){
for(int j = 0;j < n;j++){
output[i][j] = mat[n-1-j][i];
}
}
return output;
}
}