1.簡述:
描述
有一個NxN整數矩陣,請編寫一個算法,将矩陣順時針旋轉90度。
給定一個NxN的矩陣,和矩陣的階數N,請傳回旋轉後的NxN矩陣。
資料範圍:,矩陣中的值滿足
要求:空間複雜度 ,時間複雜度
進階:空間複雜度 ,時間複雜度
示例1
輸入:
[[1,2,3],[4,5,6],[7,8,9]],3
[[7,4,1],[8,5,2],[9,6,3]]
import java.util.*;
public class Solution {
public int[][] rotateMatrix(int[][] mat, int n) {
int length = mat.length;
//矩陣轉置
for(int i = 0; i < length; ++i){
for(int j = 0; j < i; ++j){
//交換上三角與下三角對應的元素
int temp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = temp;
}
}
//每行翻轉
for (int i = 0; i < length; i++) {
for (int j = 0; j < length/2; j++){
int temp = mat[i][j];
mat[i][j] = mat[i][length - j - 1];
mat[i][length - j - 1] = temp;
}
}
return mat;
}
}