48. Rotate Image
来源:互联网 发布:mysql可视化面板 编辑:程序博客网 时间:2024/06/17 05:49
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?
1.首先找旋转后的第一条规律,设n=4
[0][0]->[0][3]
[0][3]->[3][3]
[1][1]->[1][2]
[0][1]->[1][3]
可以发现规律[i][j]->[j][n-i-1],不考虑in-place就可以使用该规则完成算法。2.再找规律,如图所示:把矩阵分成四块发现A位置旋转后成为B,B旋转成为C,C成为D,D成为A。所以利用一个中间值即可满足in-place的约束条件。
对于A区域,0<=i < n/2 并且i<=j
public class Solution { public void rotate(int[][] a) { if(a==null || a.length==0) return; int n=a.length; for(int i=0;i<n/2;i++){ for(int j=i;j<n-i-1;j++){ int temp=a[i][j];//临时 a[i][j]=a[n-1-j][i];//A=D a[n-1-j][i]=a[n-1-i][n-1-j];//D=C a[n-1-i][n-1-j]=a[j][n-1-i];//C=B a[j][n-1-i]=temp;//B=temp } } }}
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
- 进程和线程关系及区别
- Android 四大组件——服务 后台运行解决方案
- C#做应用啦---打字游戏
- 11. Container With Most Water
- hdu 1176 免费馅饼(DP)
- 48. Rotate Image
- VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 论文学习
- iOS开发中(Xcode)常见报错和解决办法
- Git裸仓库和非裸仓库
- linux免密码互相登录
- THE ONE使用笔记(2)——路由算法顽健性分析
- 75. Sort Colors
- TCP套接字编程
- Linux下配置Java环境变量