刷題67 旋轉矩陣

2022-07-28 03:57:11 字數 939 閱讀 5268

給你一幅由 n × n 矩陣表示的影象,其中每個畫素的大小為 4 位元組。請你設計一種演算法,將影象旋轉 90 度。

不占用額外記憶體空間能否做到?

示例 1:

給定 matrix =

[[1,2,3],

[4,5,6],

[7,8,9]

],原地旋轉輸入矩陣,使其變為:

[[7,4,1],

[8,5,2],

[9,6,3]

]示例 2:

給定 matrix =

[[ 5, 1, 9,11],

[ 2, 4, 8,10],

[13, 3, 6, 7],

[15,14,12,16]

], 原地旋轉輸入矩陣,使其變為:

[[15,13, 2, 5],

[14, 3, 4, 1],

[12, 6, 8, 9],

[16, 7,10,11]

]分析矩陣旋轉規律;

解構賦值;

矩陣旋轉90°以後,以示例1 為例:原來的第1行變為第3列,原來的第2行變為第2列,原來的第3行變為第1列;即:矩陣中第i行的第j個元素,在旋轉後,它出現在倒數第i列的第j個位置。

使用解構賦值實現矩陣中第i行的第j個元素和矩陣中第j行的第i個元素互換位置。

使用reverse()翻轉每一行元素。

/**

* @param matrix

* @return do not return anything, modify matrix in-place instead.

*/var rotate = function(matrix) ;

推到 旋轉矩陣公式 旋轉矩陣公式推導

1.在二維平面中 如下圖所示,在xoyxoy平面中有一向量op x,y top x,y t,旋轉 角後變為向量op x y top x y t。據圖可得 x op cos y op sin x op cos y op sin 經旋轉 角後有 x op cos op cos cos sin sin x...

旋轉矩陣演算法

question 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 void func int n 要求 通過傳入的n,輸出乙個4 4的矩陣,順序如上圖所示.code nxn矩陣 include using namespace std include define max...

原地旋轉矩陣

題目 給定乙個大小為n n的矩陣a,如何在空間複雜度為o 1 的情況下,將矩陣順時針旋轉90度?解析 對於矩陣旋轉,最容易想到的便是利用乙個大小同樣為n n的臨時矩陣t,將原矩陣a i j 放在 t j n i 1 位置處。最後將矩陣t的資料拷貝置矩陣a中,完成矩陣的旋轉。但是這種方法的空間複雜度為...