48. Rotate Image
来源:互联网 发布:视频剪辑软件 编辑:程序博客网 时间:2024/05/26 16:00
题目:
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?
给定一个n x n 的二维矩阵,将矩阵旋转90度。
思路:转载自“leetcode题解”
首先想到,纯模拟,从外到内一圈一圈的转,但这个方法太慢。
如下图,首先沿着副对角线翻转一次,然后沿着水平中线翻转一次。
或者,首先沿着水平中线翻转一次,然后沿着主对角线翻转一次。
代码:
首先沿着副对角线翻转一次,然后沿着水平中线翻转一次。
class Solution {public: void rotate(vector<vector<int>>& matrix) { const int n = matrix.size(); for(int i=0; i<n; ++i){ for(int j=0; j<n-i; ++j){ swap(matrix[i][j], matrix[n-1-j][n-1-i]); } } for(int i=0; i<n/2; ++i){ for(int j=0; j<n; ++j){ swap(matrix[i][j], matrix[n-1-i][j]); } } }};首先沿着水平中线翻转一次,然后沿着主对角线翻转一次。
class Solution {public: void rotate(vector<vector<int>>& matrix) { const int n = matrix.size(); for(int i=0; i<n/2; ++i){ for(int j=0; j<n; ++j){ swap(matrix[i][j], matrix[n-1-i][j]); } } for(int i=0; i<n; ++i){ for(int j=i+1; j<n; ++j){ swap(matrix[i][j], matrix[j][i]); } } }};
0 0
- [LeetCode]48.Rotate Image
- LeetCode 48. Rotate Image
- LeetCode 48.Rotate Image
- LeetCode --- 48. Rotate Image
- [Leetcode] 48. Rotate Image
- 48. Rotate Image
- 48. Rotate Image
- 48. Rotate Image
- 48. Rotate Image
- [leetcode] 48. Rotate Image
- Leetcode 48. Rotate Image
- 48. Rotate Image LeetCode
- [LeetCode]48. Rotate Image
- 48. Rotate Image
- 48. Rotate Image
- leetcode 48. Rotate Image
- Leetcode 48. Rotate Image
- LeetCode 48. Rotate Image
- Git 基础 —— 配置与日志信息
- 让Brackets支持jade文件代码高亮
- 《精益创业》读后思考 1
- 设计模式开篇
- 网络协议分层
- 48. Rotate Image
- 数据库练习命令
- 康托展开
- 项目总结
- iOSDay01C语言数据类型
- char 与 unsigned char
- 动态规划—Problem D
- 【Android】ListView的单选、多选的实现
- 中缀表达式求后缀,再由后缀表达式求值