正方形矩陣旋轉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;
}
相關文章
- THREE 矩陣優先原則和平移旋轉矩陣矩陣
- 二維旋轉矩陣推導矩陣
- 三維旋轉矩陣推導矩陣
- 空間旋轉矩陣怎麼表示矩陣
- 三維座標系旋轉——旋轉矩陣到旋轉角之間的換算矩陣
- 圖形學 旋轉與投影矩陣-3矩陣
- 圖形學 旋轉與投影矩陣—2矩陣
- 3D旋轉矩陣的推導3D矩陣
- 圖形學 旋轉與投影矩陣—1矩陣
- 旋轉矩陣與尤拉角的相互轉換矩陣
- 矩陣旋轉-Eigen應用(QTCreator編輯器)矩陣QT
- 尤拉角和旋轉矩陣之間的轉換矩陣
- 三維旋轉矩陣 左乘和右乘分析矩陣
- 三維空間座標系變換-旋轉矩陣矩陣
- LeetCodeHot100 73. 矩陣置零 54. 螺旋矩陣 48. 旋轉影像 240. 搜尋二維矩陣 IILeetCode矩陣
- 單像空間後方交會計算旋轉矩陣矩陣
- 三維空間中物體兩次旋轉之間的連續旋轉矩陣計算矩陣
- 矩陣轉置矩陣
- 第四個OpenGL程式,vector 向量 (矩陣變換之 旋轉,縮放)矩陣
- LeetCode 189 旋轉陣列LeetCode陣列
- zip矩陣轉至矩陣
- 資料結構:陣列,稀疏矩陣,矩陣的壓縮。應用:矩陣的轉置,矩陣相乘資料結構陣列矩陣
- LeetCode-189-旋轉陣列LeetCode陣列
- LC 189. 旋轉陣列陣列
- 【LeetCode】189. 旋轉陣列LeetCode陣列
- 三維旋轉矩陣的推導過程(以右手座標系為例)矩陣
- 矩陣求導公式【轉】矩陣求導公式
- 旋轉的數學表達:尤拉角、軸向角、四元數與矩陣矩陣
- 三維空間變換中旋轉矩陣左乘與右乘的區別矩陣
- 旋轉陣列中的最小元素陣列
- LeetCode 33——搜尋旋轉排序陣列LeetCode排序陣列
- 巨大的矩陣(矩陣加速)矩陣
- 鄰接矩陣、度矩陣矩陣
- 奇異矩陣,非奇異矩陣,偽逆矩陣矩陣
- leetCode33搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode33. 搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode#33搜尋旋轉排序陣列LeetCode排序陣列
- LeetCode33 搜尋旋轉排序陣列LeetCode排序陣列
- 【LeetCode(Java) - 33】搜尋旋轉排序陣列LeetCodeJava排序陣列