48. Rotate Image(重要)
2016-07-19 16:02
316 查看
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?
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 */ 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]); } }
相关文章推荐
- java的接口回调机制详解
- HTML5前端开发之基础篇
- 通过Ajax方式上传文件,使用FormData进行Ajax请求
- hadoop 基本操作命令
- 今天是新的一天j
- Android导出Kml
- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
- 《剑指offer》第31题:连续子数组的最大和
- md5加密base64加密解密
- 嵌入式C语言实战开发详解(三)
- 架构实践
- JAVA 对象内存分析
- 数学符合和读法
- ES6 扫盲
- 辅助同步器
- 万一开车撞人了,一位退休交警教给你的方法!收藏过千万
- Codeforces Round #316 (Div. 2) A 水
- commons-lang中常用方法
- Quartz教程四:Trigger
- 13. Roman to Integer