天天看點

經典算法面試題目-矩陣旋轉90度(1.6)題目解答

Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, write a method to rotate the image by 90 degrees. Can you do this in place?

一張圖像表示成NxN的矩陣,圖像中每個像素是4個位元組,寫一個函數把圖像旋轉90度。 你能原地進行操作嗎?(即不開辟額外的存儲空間)

我們假設要将圖像逆時針旋轉90度,順時針是一個道理。如果原圖如下所示:

那麼逆時針旋轉90度後的圖應該是:

我們要如何原地進行操作以達到上面的效果呢?可以分兩步走。 第一步交換主對角線兩側的對稱元素,第二步交換第i行和第n-1-i行,即得到結果。 看圖示:(如果是順時針, 第一步交換/對角線兩側的對稱元素,第二步交換第i行和第n-1-i行,即得到結果。)

經典算法面試題目-矩陣旋轉90度(1.6)題目解答

繼續閱讀