教育改变生活
标题:
leetcode真题-翻转图像
[打印本页]
作者:
一秉
时间:
2020-6-1 19:13
标题:
leetcode真题-翻转图像
题目描述:
给定一个
n
×
n
的二维矩阵表示一个图像。将图像顺时针旋转 90 度。
示例:
给定 matrix =
[
[1,2,3],
[4,5,6],
[7,8,9]
],
原地旋转输入矩阵,使其变为:
[
[7,4,1],
[8,5,2],
[9,6,3]
]
题目解析:
最直接的想法是先转置矩阵,然后翻转每一行。这个简单的方法已经能达到最优的时间复杂度O(N2)O(N^2)。
题目代码:
class Solution {
public void rotate(int[][] matrix) {
int n = matrix.length;
// transpose matrix
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
int tmp = matrix[j]
;
matrix[j]
= matrix
[j];
matrix
[j] = tmp;
}
}
// reverse each row
for (int i = 0; i < n; i++) {
for (int j = 0; j < n / 2; j++) {
int tmp = matrix
[j];
matrix
[j] = matrix
[n - j - 1];
matrix
[n - j - 1] = tmp;
}
}
}
}
欢迎光临 教育改变生活 (http://bbs.goldoar.com/)
Powered by Discuz! X3.2