題目:給定乙個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 請...