正方形矩陣旋轉90度
將矩陣順時針旋轉90度。
方法一:
public static void rotate(int a[][],int N)
{
int layer;
for(layer=0; layer<N/2; layer++)
{
int last = N-1-layer;
for(int i=layer; i<last; i++)
{
int offset = i-layer;
int top = a[layer][i];
a[layer][i] = a[last-offset][layer];
a[last-offset][layer] = a[last][last-offset];
a[last][last-offset] = a[i][last];
a[i][last] = top;
}
}
}
程式碼的過程如圖所示:
不用開闢新的空間。
方法二:
int[][] b = new int[N][N];
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
b[N-1-j][N-1-i] = a[i][N-1-j];
}
}
第二種方法程式碼簡潔,但是需要開闢一個矩陣大小的空間。
當然我們推薦使用方法一。
矩陣乘法:
public int[][] multiMatrix(int[][] a , int[][] b)
{
int m = a.length;
int n = b[0].length;
int[][] result = new int[m][n];
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
{
int temp = 0;
for (int k = 0; k < m; k++)
{
temp += a[i][k]*b[k][j];
}
result[i][j] = temp;
}
return result;
}
相關文章
- 旋轉矩陣矩陣
- 矩陣旋轉矩陣
- 旋轉變換(一)旋轉矩陣矩陣
- 旋轉矩陣推導矩陣
- lisp 習題 矩陣旋轉Lisp矩陣
- 原地旋轉矩陣(不申請新的記憶體空間旋轉矩陣)矩陣記憶體
- THREE 矩陣優先原則和平移旋轉矩陣矩陣
- 三維旋轉矩陣推導矩陣
- 二維旋轉矩陣推導矩陣
- 三維旋轉:旋轉矩陣,尤拉角,四元數矩陣
- 利用三維旋轉矩陣在空間中旋轉平面矩陣
- 空間旋轉矩陣怎麼表示矩陣
- 旋轉矩陣與尤拉角的相互轉換矩陣
- 3D旋轉矩陣的推導3D矩陣
- 圖形學 旋轉與投影矩陣—1矩陣
- 圖形學 旋轉與投影矩陣—2矩陣
- 圖形學 旋轉與投影矩陣-3矩陣
- 三維座標系的旋轉矩陣矩陣
- 旋轉矩陣(Rotate Matrix)的性質分析矩陣
- 三維座標系旋轉——旋轉矩陣到旋轉角之間的換算矩陣
- 三維重建學習(1):基礎知識:旋轉矩陣與旋轉向量矩陣
- 三維旋轉矩陣 左乘和右乘分析矩陣
- 矩陣旋轉-Eigen應用(QTCreator編輯器)矩陣QT
- 矩陣變換:沿任意軸旋轉及其推導矩陣
- 三維空間 旋轉矩陣 四元數 尤拉角 相互轉換 組合旋轉矩陣
- 剛體在三維空間的旋轉(關於旋轉矩陣、DCM、旋轉向量、四元數、尤拉角)矩陣
- 三維空間座標系變換-旋轉矩陣矩陣
- 註冊 旋轉矩陣 1.99 (1012字)矩陣
- 單像空間後方交會計算旋轉矩陣矩陣
- 三維圖形繞任意軸旋轉矩陣求解步驟矩陣
- 旋轉矩陣、尤拉角、四元數、軸/角之間的轉換矩陣
- 三維空間中物體兩次旋轉之間的連續旋轉矩陣計算矩陣
- [CareerCup] 11.3 Search in Rotated Sorted Array 在旋轉有序矩陣中搜尋矩陣
- 矩陣轉置矩陣
- LeetCodeHot100 73. 矩陣置零 54. 螺旋矩陣 48. 旋轉影像 240. 搜尋二維矩陣 IILeetCode矩陣
- 第四個OpenGL程式,vector 向量 (矩陣變換之 旋轉,縮放)矩陣
- 資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘資料結構陣列矩陣
- zip矩陣轉至矩陣