Leetcode--面试题 01.07. 旋转矩阵(Java)
給你一幅由 N × N 矩陣表示的圖像,其中每個像素的大小為 4 字節。請你設計一種算法,將圖像旋轉 90 度。
不占用額外內存空間能否做到?
?
示例 1:
給定 matrix =?
[
? [1,2,3],
? [4,5,6],
? [7,8,9]
],
原地旋轉輸入矩陣,使其變為:
[
? [7,4,1],
? [8,5,2],
? [9,6,3]
]
示例 2:
給定 matrix =
[
? [ 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,11]
]
思路:先轉置矩陣,再把每一行逆置
代碼:
class?Solution?{
????public?void?rotate(int[][]?matrix)?{
????????if(matrix.length==0){
????????????return;
????????}
????????for(int?i=0;i<matrix.length-1;i++){
????????????for(int?j?=i+1;j<matrix.length;j++){
????????????????int?t?=?matrix[i][j];
????????????????matrix[i][j]?=?matrix[j][i];
????????????????matrix[j][i]?=?t;
????????????}
????????}
????????for(int?i=0;i<matrix.length;i++){
????????????for(int?j=0;j<matrix.length/2;j++){
????????????????int?t?=matrix[i][matrix.length-1-j];
????????????????matrix[i][matrix.length-1-j]?=?matrix[i][j];
????????????????matrix[i][j]?=?t;
????????????}
????????}
????}
}
總結
以上是生活随笔為你收集整理的Leetcode--面试题 01.07. 旋转矩阵(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安全技术可以采用计算机安全,2017年计
- 下一篇: Leetcode--150. 逆波兰表达