順時針九十度旋轉矩陣

2021-09-27 08:03:52 字數 643 閱讀 2240

題目:給定乙個nn的矩陣,順時針把矩陣旋轉90度。

比如說}。順時針旋轉90度為}。

解法一:時間複雜度為o(nn),空間複雜度為o(n)。

步驟:(1)把矩陣的行當做乙個整體,逆序矩陣中的行,也就是說把matrix[i]行和matrix[len - i]進行交換。(2)在交換後的矩陣中,按照對角線交換每個數,也就是說交換matrix[i][j]和matrix[j][i]。因為需要交換每一行,所以需要o(n)的額外空間

void

rotate

(vectorint>>

& matrix)

//交換matrix[i][j]和matrix[j][i]

for(

int i =

0; i < matrix.

size()

;++i)

}}

解法二:時間複雜度為o(n*n),空間複雜度為o(1)。我們每次只交換乙個元素,而且一次就把元素交換到旋轉以後的位置。交換乙個元素需要o(1)的額外的空間。

思路:從外到內依次旋轉

void

rotate

(vectorint>>

& matrix)

}}

順時針旋轉矩陣

有乙個nxn整數矩陣,請編寫乙個演算法,將矩陣順時針旋轉90度。給定乙個nxn的矩陣,和矩陣的階數n,請返回旋轉後的nxn矩陣,保證n小於等於300。測試樣例 1,2,3 4,5,6 7,8,9 3返回 7,4,1 8,5,2 9,6,3 簡單題 coding utf 8 class rotate ...

1 3 順時針旋轉矩陣

1 2 題目描述 3有乙個nxn整數矩陣,請編寫乙個演算法,將矩陣順時針旋轉90度。4給定乙個nxn的矩陣,和矩陣的階數n,請返回旋轉後的nxn矩陣,保證n小於等於300。5測試樣例 6 1,2,3 4,5,6 7,8,9 3 7返回 7,4,1 8,5,2 9,6,3 8 9 10將矩陣順時針旋轉...

順時針旋轉矩陣 矩陣查詢

有乙個nxn整數矩陣,請編寫乙個演算法,將矩陣順時針旋轉90度。給定乙個nxn的矩陣,和矩陣的階數n,請返回旋轉後的nxn矩陣,保證n小於等於300。示例1輸入 1,2,3 4,5,6 7,8,9 3 返回值 7,4,1 8,5,2 9,6,3 class solution return arr 請...