像素翻转
2015-07-31 21:21
176 查看
题目描述
有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于500,图像元素小于等于256。
测试样例:
[[1,2,3],[4,5,6],[7,8,9]],3
返回:[[7,4,1],[8,5,2],[9,6,3]]
思路解析:找准旋转后的规律即可 result[i][j]=mat[mat[i].length-j-1][i];不需要暴力求解
public static int[][] transformImage(int[][] mat, int n) { int[][] result = new int[mat[0].length][mat.length]; for(int i=0;i<mat.length;i++){ for(int j=0;j<mat[i].length;j++) //规律 result[i][j]=mat[mat[i].length-j-1][i]; } return result; }
相关文章推荐
- 关于GrideView Item点击后出现错乱重叠的情况
- Log4j配置说明
- HDU 3829 — Cat VS Dog 最大独立集
- 计时器(Chronometer)
- 像素翻转
- J2EE-13个常用规范
- poj 3660 Cow Contest(warshall算法)
- 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 2
- mysql登录
- Formatting
- 黑马程序员-C语言数组的使用注意事项
- 软工视频——第一章
- junit测试spring相关配置
- (剑指Offer)面试题52:构建乘积数组
- Ubuntu 13.10配置root登录
- 【地理空间数据挖掘】融合多源数据的贝叶斯网络
- 非对称密钥的来源
- process_begin: CreateProcess(...) failed.
- (leetcode)Symmetric Tree
- ACM判断字符串”相等“