Leetcode順時鐘旋轉90度

2022-03-15 00:08:09 字數 1765 閱讀 5547

問題

you are given annx

n2d matrix representing an image.

rotate the image by 90 degrees (clockwise).

follow up:

could you do this in-place?

結合查詢到的資料做個總結。

1. 對角交換+以中間線左右交換

觀察交換前後陣列關係,發現:

原陣列第一行變成新陣列最右邊一列

原陣列第二行變成新陣列最右邊第二列

……那麼**就簡單,見最後附錄**。

2. 四元組為單位旋轉

分析陣列,發現規律:

a[i][j] = a[n-1-j][i](左邊指旋轉後元素)

使用快捷鍵:

對於陣列,終止條件為:

ij>=i && j(具體分析見 

源**

/* copright reserved by miraclecoder* no permit to  delete the link:*/#define

n 4

void

printmatrix

(intm[

n][n],

const

char

*str

)

cout

<<

endl

;

}}

void

rotate

(int

matrix[n

][n])

for(

inti =0

;i ++i

)

// print

printmatrix

(matrix

,"after rotate 90 degree\n"

);

}

void

rotate90degree

(int

matrix[n

][n])

}

printmatrix

(matrix

,"after rotate 90 degree\n"

);}

Java實現矩陣順時針旋轉90度

實現矩陣的轉置較為容易,只需要將縱橫下標互換即可。實現矩陣旋轉稍微麻煩一點。解題思路 矩陣轉換90度,則原矩陣的縱下標轉變為新矩陣的橫下標 原矩陣的橫下標轉變為新矩陣的縱下標,並且順序相反。public class rotation public static int change int matr...

將正方形矩陣順時針旋轉90度

將正方形矩陣順時針旋轉90度 給定乙個n n的矩陣matrix,請把這個矩陣順時針轉動90度。輸入描述 輸入包含多行,第一行乙個整數n 1 n 200 n 1 leq n leq 200 n 1 n 200 代表矩陣的行數和列數,接下來n行,每行n個整數,代表矩陣mat rix 1 ma trix ...

旋轉陣列(順時針90度,180度,270度)

順時針旋轉90 第一種是用座標變換法,在網上看到的一種座標變換 順時針90 newarr i j arr n 1 j i 順時針180 newarr i j arr n 1 i n 1 j 順時針270 newarr i j arr j n 1 i 第二種根據特點,先觀察matrix與轉置後的mat...