矩陣順時針轉動90度

2021-09-27 04:05:43 字數 665 閱讀 6082

輸入描述:

輸入包含多行,第一行乙個整數n(1≤n≤200),代表矩陣的行數和列數,接下來n行,每行n個整數,代表矩陣matrix(1≤matrix[i][j]≤40000)。

輸出描述:

輸出旋轉後的矩陣(包含n行,每行n個數)。

示例1輸入

41 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

輸出13 9 5 1

14 10 6 2

15 11 7 3

16 12 8 4

備註:額外空間複雜度o(1)。

思路:拿到這個題,我本來是想重新建立乙個相同大小的二維陣列,然後把原陣列的資料按題目要求搬移過去就好了,但是這個題要求是空間複雜度為o(1)。那這樣做就不行。換個思路,注意到1->4,4->16,16->13,13->1,同樣的2->8,8->15,15->9,9->2一樣的規律,按照這樣的規律交換,就可以把外圈旋轉90度,但是還有內圈呢,加乙個迴圈就可以搞定啦!

**:

#include#includeusing namespace std;

void print_matrix(vector> vv)

}rotate(vv,n);

}return 0;

}

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

題目 給定乙個n n的矩陣matrix,求把這個矩陣調整成順時針轉動90度後的形式。例如 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 順時針轉動90度後為 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 要求 額外空間複雜度為o 1 解...

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 ...