Leetcode48. Rotate Image
来源:互联网 发布:小米平板2win10版优化 编辑:程序博客网 时间:2024/06/05 08:42
题目
You are given an n x n 2D matrix representing an image.
Rotate the image by 90 degrees (clockwise).
Follow up:
Could you do this in-place?
思路
先上下颠倒,在对角线颠倒
/*
* clockwise rotate
* first reverse up to down, then swap the symmetry
* 1 2 3 7 8 9 7 4 1
* 4 5 6 => 4 5 6 => 8 5 2
* 7 8 9 1 2 3 9 6 3
*/
测试用力
[][1][1,2,3 4,5,6 7,8,9]
代码
package leetcodeArray;public class Leetcode48RotateImage { public void rotate(int[][] matrix) { int N = matrix.length; for(int i = 0; i < N / 2; i++){ for(int j = 0; j < matrix[i].length; j++){ int temp = matrix[i][j]; matrix[i][j] = matrix[N - i - 1][j]; matrix[N - i - 1][j] = temp; } } for(int i = 0; i < matrix.length; i++){ for(int j = i; j < matrix[i].length; j++){ int temp = matrix[i][j]; matrix[i][j] = matrix[j][i]; matrix[j][i] = temp; } } }}
结果
他山之玉
/* * clockwise rotate * first reverse up to down, then swap the symmetry * 1 2 3 7 8 9 7 4 1 * 4 5 6 => 4 5 6 => 8 5 2 * 7 8 9 1 2 3 9 6 3*/void rotate(vector<vector<int> > &matrix) { reverse(matrix.begin(), matrix.end()); for (int i = 0; i < matrix.size(); ++i) { for (int j = i + 1; j < matrix[i].size(); ++j) swap(matrix[i][j], matrix[j][i]); }}/* * anticlockwise rotate * first reverse left to right, then swap the symmetry * 1 2 3 3 2 1 3 6 9 * 4 5 6 => 6 5 4 => 2 5 8 * 7 8 9 9 8 7 1 4 7*/void anti_rotate(vector<vector<int> > &matrix) { for (auto vi : matrix) reverse(vi.begin(), vi.end()); for (int i = 0; i < matrix.size(); ++i) { for (int j = i + 1; j < matrix[i].size(); ++j) swap(matrix[i][j], matrix[j][i]); }}
class Solution: def rotate(self, A): n = len(A) for i in range(n/2): for j in range(n-n/2): A[i][j], A[~j][i], A[~i][~j], A[j][~i] = \ A[~j][i], A[~i][~j], A[j][~i], A[i][j]
阅读全文
0 0
- Leetcode48 Rotate Image
- leetcode48~Rotate Image
- LeetCode48. Rotate Image
- LeetCode48. Rotate Image题解
- leetcode48. Rotate Image
- Leetcode48. Rotate Image
- Leetcode48 Rotate Image
- leetcode48. Rotate Image
- LeetCode48——Rotate Image
- LeetCode48/189 Rotate Image/Rotate Array
- Rotate Image
- Rotate Image
- Rotate Image
- Rotate Image
- Rotate Image
- Rotate Image
- Rotate Image
- Rotate Image
- java环境变量的配置。JDK
- 希望和失望
- MciSendString实现播放音乐(支持多音乐播放)与PlaySound不同
- MATLAB产生随机数
- OSGChina推出的视频教程章节
- Leetcode48. Rotate Image
- 数据降维工具箱drttoolbox
- 第一天正式开始学HTML标签~
- SNR
- CentOS6 mininal 安装CouchDB2 详细版
- 物理渲染学习笔记(二)——光的传播
- 关于create-react-app搭建react环境并修改端口号
- Java+Selenium3方法篇38-AutoIt工具处理文件上传
- Startting a blogger from now!