N所与×nの二次元マトリクスの画像を表します。
画像は、時計回りに90度回転させました。
説明:
あなたは直接2次元マトリックスの入力を変更する必要があることを意味場所で画像を回転させる必要があります。画像を回転させるために、別の行列を使用しないでください。
例1:
所与=マトリックス
[
[1,2,3]、
[4,5,6]、
[7,8,9]
]、
:それはなるように、入力行列のその場回転で
[
[7,4,1]、
[8,5,2]、
[9,6,3]
]
例2:
所与=マトリックス
[
[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 ]
]
回答:
公共 ボイド回転(INT [] []行列){ 転置(マトリックス) (マトリックス)逆。 } パブリック 静的 ボイド転置(INT [] []行列){ int型の長さ= matrix.length。 以下のために(INT I 0 =; I <長さ、I ++ ){ ため(INT J = I; J <長あり、j ++ ){ int型 TMP = 行列[j] [i]は、 行列[J] [I] = 行列[I] [J]。 行列[I] [J] = TMP。 } } } パブリック 静的 ボイド逆(INT [] []行列){ int型の長さ= matrix.length。 以下のために(INT I 0 =; I <長さ、I ++ ){ ため(INT J = 0; J <長さ/ 2、J ++ ){ int型 TMP = 行列[I] [J]。 行列[I] [J] =行列[I] [長-1- J]。 行列[I] [長さ -1-J] = TMP。 } } }
出典:滞在ボタン(LeetCode)
リンクします。https://leetcode-cn.com/problems/rotate-image